本文介绍如何使用PAI-DLC和NAS,基于PyTorch进行离线迁移训练。

前提条件

使用限制

本文的操作仅支持PAI-DLC公共资源组的工作集群。

步骤一:准备数据

本文使用的数据已经存放在公开地址,您可以直接下载(下载数据),解压后即可使用。

  1. 进入PAI-DSW开发环境。
    1. 登录PAI控制台
    2. 在页面左上方,选择使用服务的地域。
    3. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。新版工作空间的作用和操作可参考文档AI工作空间(新版)
    4. 在左侧导航栏,选择模型开发和训练 > 交互式建模(DSW)
    5. 可选:交互式建模(DSW)页面的搜索框,输入实例名称或关键字,搜索实例。
    6. 单击需要打开的实例操作列下的打开dsw实例列表
  2. 在PAI-DSW开发环境,单击Other区域下的Terminal,即可打开Terminal。dsw_terminal
  3. 下载数据。
    1. 单击左上方工具栏中的创建文件夹图标,创建文件夹(例如pytorch_transfer_learning)。
    2. 在Terminal中,使用cd命令进入已创建的文件夹,并通过wget命令下载数据集,如下图所示。
      wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz
      其中https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz表示数据集地址,即从该地址下载数据集。下载数据集
    3. 使用tar -xf ./data.tar.gz命令解压数据集。
    4. 在左侧目录树,右键单击已解压的数据文件(hymenoptera_data),在快捷菜单中,单击Rename将该文件重命名为input,以便后续操作。重命名数据文件

步骤二:准备训练代码和模型存储文件夹

  1. 在同一个PAI-DSW实例内,可以将训练代码下载到NAS文件系统。参考下载数据的方法,使用wget命令下载训练代码。
    wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/main.py
    其中https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/main.py表示训练代码存储地址。
  2. pytorch_transfer_learning文件夹下,创建名为output的文件夹,用于存储训练完成的模型。
  3. 查看pytorch_transfer_learning文件夹的内容。
    文件夹下包括如下文件:
    • input:训练数据文件夹。
    • main.py:训练代码。
    • output:模型存储文件夹。
    最终的文件夹内容

步骤三:新增数据配置

  1. 在工作空间内的左侧导航栏,单击AI资产管理 > 数据集
  2. 数据集管理页面,单击创建数据集
  3. 创建数据集页面,配置如下参数。数据集创建
    参数 描述
    名称 数据名称。
    描述 数据的描述信息,便于区分不同的数据。
    选择数据存储 可选择阿里云对象存储(OSS)和阿里云文件存储(NAS)。本文中使用NAS。
    选择NAS文件系统 配置为已创建的NAS文件系统的ID。您可以登录NAS控制台,在对应的地域,查看NAS文件系统ID。也可从下拉列表中查看拥有的NAS文件系统ID。
    NAS路径 挂载的NAS具体的路径。此处为 \
    默认挂在路径 挂载的NAS在任务中的路径,默认为/mnt/data
    说明 地域必须与PAI-DSW实例的地域、数据和代码的存储地域一致。
  4. 单击提交

步骤四:创建任务

  1. 登录PAI控制台
  2. 在页面左上方,选择使用服务的地域。
  3. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。新版工作空间的作用和操作可参考文档AI工作空间(新版)
  4. 在左侧导航栏,选择模型开发和训练 > 容器训练(DLC)
  5. 新建任务页面,配置如下参数。
    新建任务基本配置新建任务节点配置
    区域 参数 描述
    基本信息 资源类型 深度学习训练的任务使用的计算资源类型,分为公共资源组和专有资源组。本文中选择公共资源组
    任务名称 深度学习训练的任务名称。长度为2~30个字符,以小写字母开头。
    节点镜像 选择PAI平台镜像 ,并在下面列表中选择PyTorch镜像。
    任务类型 选择Pytorch
    数据配置 配置为上一个步骤中新建的数据配置。
    代码配置 无需配置。
    执行命令 配置为python /root/data/pytorch_transfer_learning/main.py -i /root/data/pytorch_transfer_learning/input -o /root/data/pytorch_transfer_learning/output
    三方库配置 选择三方库列表,并在下方文本框中输入以下内容。
    numpy==1.16.4
    absl-py==0.11.0
    任务资源配置 Worker节点配置 节点配置 选择一台合适的服务器。
    节点数量 单机任务,该参数取值为1。
  6. 单击提交

步骤五:查看任务详情和日志结果

  1. 在工作空间的左侧导航栏,单击AI资产管理 > 任务
  2. 任务列表页面,单击任务的名称任务列表页
  3. 任务详情页面,即可查看任务的基本信息任务配置等信息。
  4. 任务详情页面底部的实例区域,单击目标实例操作列下的日志,即可查看日志结果。pod实例示意图
    日志结果如下图所示。实例日志图