使用EAIS加速PyTorch应用

如果您初次使用弹性加速计算实例EAIS,可以通过本文内容体验EAIS加速PyTorch应用的完整使用流程,帮助您快速上手EAIS。

背景信息

本教程将引导您创建一台深圳地域,eais.ei-a6.2xlarge规格的EAIS实例,并以公开的resnet50模型为例,配合eais-miniconda环境中自带的推理脚本,带您体验基于图像分类的推理场景下,使用EAIS进行加速PyTorch应用的完整操作流程。

eais-miniconda环境是阿里云基于miniconda开发的eais使用环境。在eais-miniconda环境的eais-miniconda/eais/example/resnet路径下,阿里云为您提供了用于测试体验的样例脚本,部分文件说明如下:

  • export_resnet50.py:您可以通过该脚本下载resnet50模型,并将模型文件转换为TorchScript模型。

  • pytorch_resnet50_v2.py:推理脚本样例。您可以通过运行该脚本,体验推理加速过程。

  • images/:存放了用于推理的3个样例图片。

  • resnet_labels.txt:该文件包含了ImageNet的1000个类别名称。

步骤一:创建ECS实例

  1. 登录并前往ECS实例创建页

    说明

    如果未注册阿里云账号,请先注册账号。具体请参见阿里云账号注册流程

  2. 创建一台专有网络类型的按量计费ECS实例,来作为EAIS实例的绑定目标。具体操作,请参见创建ECS实例

步骤二:创建EAIS实例

  1. 登录EAIS控制台

  2. 在左侧导航栏,选择弹性加速计算实例 EAIS > 弹性加速计算实例列表

  3. 单击创建弹性加速计算实例,跳转至购买页面。

    创建EAIS
  4. 选择地域和可用区华南1(深圳)

    地域及可用区
  5. 设置实例名称eais_test

    实例名称
  6. 选择实例规格eais.ei-a6.2xlarge

    实例规格
  7. 单击立即购买

  8. 确认订单页面,勾选服务协议,然后单击立即开通

    购买EAIS

步骤三:绑定EAIS至ECS实例

  1. 单击管理控制台,前往EAIS控制台

    管理控制台
  2. 在实例列表中,单击实例eais_test所在操作列下的绑定ECS实例

    2021-08-19_10-32-37
  3. 绑定ECS实例对话框的选择ECS实例中,选择要绑定的目标ECS实例。

    2021-08-19_10-34-43
  4. 单击确定

    实例列表每10秒自动刷新,当实例状态由绑定中变为已绑定,表示实例绑定成功。

    2021-08-19_10-31-17
    说明

    EAIS实例仅支持绑定一台ECS实例,且ECS实例仅支持绑定一个EAIS实例。

步骤四:使用EAIS加速PyTorch应用

  1. 在实例列表中,单击实例eais_test对应的ECS实例ID,进入该ECS实例控制台。

    ECS ID
  2. 远程登录ECS实例,具体操作,参见远程连接ECS实例

    2021-08-19_10-38-32
  3. 下载EAIS miniconda环境并激活。

    1. 本教程以miniconda环境1.1.7版本为例,执行如下命令,定义环境变量。

      VERSION="1.1.7"
    2. 执行如下命令,下载eais-miniconda.tar。

      wget https://public-ai-datasets.oss-cn-huhehaote.aliyuncs.com/eai-examples/eais-miniconda-v${VERSION}.tar -O eais-miniconda.tar
    3. 执行如下命令,解压eais-miniconda.tar。

      tar xvf eais-miniconda.tar
    4. 执行如下命令,修改解压后的文件夹名称。

      mv eais-miniconda-v${VERSION} eais-miniconda
    5. 执行如下命令,激活eais-miniconda环境。

      source `pwd`/eais-miniconda/bin/activate
  4. 执行如下命令,启动EAIS服务进程。

    python eais-miniconda/bin/entrypoint.py start
  5. 下载resnet50模型文件,并将模型文件转换为TorchScript模型。

    1. 执行如下命令,进入resnet目录。

      cd eais-miniconda/eais/example/resnet
    2. 执行如下命令,运行脚本export_resnet50.py。通过该脚本下载resnet50模型文件并将其转换为TorchScript模型。

      python export_resnet50.py

      部分回显信息如下:

      2021-08-18_18-20-45
  6. 执行如下命令,运行推理脚本pytorch_resnet50_v2.py。

    python pytorch_resnet50_v2.py -m resnet50.pt -l resnet_labels.txt images/

    参数信息说明如下:

    • pytorch_resnet50_v2.py:eais-miniconda环境中的推理脚本样例。

    • resnet50.pt:下载并转换后的resnet50模型文件。

    • resnet_labels.txt:eais-miniconda环境中的存放图片类别名称的文件。

    • images/:eais-miniconda环境中的样例图片存放路径。

    您将从执行结果中获取图片的分类结果信息,部分回显如下:

    2021-08-18_18-21-18