文档

使用NAS提交单机PyTorch迁移学习任务

更新时间:

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

前提条件

选择合适的地域,创建通用型NAS文件系统,详情请参见通过控制台创建通用型NAS文件系统

使用限制

本文的操作仅支持通用计算资源公共资源组的工作集群。

步骤一:创建数据集

  1. 进入数据集管理页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在左侧导航栏,选择AI资产管理 > 数据集

  2. 数据集管理页面,单击创建数据集

  3. 创建数据集页面,配置如下参数。

    参数

    描述

    名称

    数据名称。

    描述

    数据的描述信息,便于区分不同的数据。

    选择数据存储

    选择阿里云文件存储(通用型NAS)

    选择文件系统

    配置为已创建的NAS文件系统的ID。您可以登录NAS控制台,在对应的地域,查看NAS文件系统ID。也可从下拉列表中查看拥有的NAS文件系统ID。

    文件系统路径

    挂载的NAS具体的路径。配置为/

    默认挂在路径

    挂载的NAS在任务中的路径,配置为/mnt/data/

    重要

    地域必须与DSW实例的地域、数据和代码的存储地域一致。

  4. 单击提交

步骤二:创建DSW实例

创建DSW实例时,您需要在存储配置区域单击共享数据集,选择步骤一创建的NAS类型数据集,并将挂载路径配置为/mnt/workspace/。其他参数配置详情,请参见创建及管理DSW实例image.png

步骤三:准备数据

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

  1. 进入DSW开发环境。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在页面左上方,选择使用服务的地域。

    4. 在左侧导航栏,选择模型开发与训练 > 交互式建模(DSW)

    5. 可选:交互式建模(DSW)页面的搜索框,输入实例名称或关键字,搜索实例。

    6. 单击需要打开的实例操作列下的打开

  2. DSW开发环境的顶部菜单栏,单击Notebook页签。

  3. 下载数据。

    1. 单击左上方工具栏中的创建文件夹图标,创建文件夹(例如pytorch_transfer_learning)。

    2. DSW开发环境的顶部菜单栏,单击Terminal页签,即可打开Terminal。

    3. 在Terminal中,使用cd命令进入已创建的文件夹,并通过wget命令下载数据集,如下图所示。

      cd /mnt/workspace/pytorch_transfer_learning/
      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表示数据集地址,即从该地址下载数据集。下载数据集

    4. 使用tar -xf ./data.tar.gz命令解压数据集。

    5. 切换到Notebook页签,在左侧目录树,进入目录pytorch_transfer_learning中,右键单击已解压的数据文件夹(hymenoptera_data),在快捷菜单中,单击Rename将该文件重命名为input,以便后续操作。

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

  1. DSW实例的Terminal中,使用wget命令将训练代码下载到pytorch_transfer_learning文件夹下。

    cd /mnt/workspace/pytorch_transfer_learning/
    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的文件夹,用于存储训练完成的模型。

    mkdir output
  3. 查看pytorch_transfer_learning文件夹的内容。

    文件夹下包括如下文件:

    • input:训练数据文件夹。

    • main.py:训练代码。

    • output:模型存储文件夹。

    最终的文件夹内容

步骤五:创建任务

  1. 进入新建任务页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在工作空间页面的左侧导航栏选择模型开发与训练 > 分布式训练(DLC),在分布式训练任务页面中单击新建任务,进入新建任务页面。

  2. 新建任务页面,配置如下参数。

    区域

    参数

    描述

    基本信息

    任务名称

    深度学习训练的任务名称。

    节点镜像

    选择PAI平台镜像 ,并在下面列表中选择PyTorch镜像。例如:选择pytorch-training:1.12PAI-gpu-py38-cu113-ubuntu20.04

    数据集配置

    选择步骤一创建的NAS类型数据集。

    代码配置

    无需配置。

    执行命令

    配置为python /mnt/data/pytorch_transfer_learning/main.py -i /mnt/data/pytorch_transfer_learning/input -o /mnt/data/pytorch_transfer_learning/output

    三方库配置

    选择三方库列表,并在下方文本框中输入以下内容。

    numpy==1.16.4
    absl-py==0.11.0

    资源配置

    资源配额

    选择公共资源组

    框架

    选择Pytorch

    任务资源

    选择一台合适的服务器。例如:资源规格选择选择CPU下的ecs.g6.xlarge节点数量配置为1。

  3. 单击提交

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

  1. 分布式训练任务页面,单击任务的名称

  2. 任务详情页面,即可查看任务的基本信息基本任务配置等信息。

  3. 任务详情页面底部的实例页签,单击目标实例操作列下的日志,即可查看日志结果。

    日志结果如下图所示。image.png

  • 本页导读 (1)