【2023 · CANN训练营第一季】——将LeNet-5的Pytorch训练迁移到Modelarts平台进行训练

举报
dayao 发表于 2023/05/31 16:31:42 2023/05/31
【摘要】 本篇笔记记录了将迁移好的Pytorch训练代码如何部署到Modelarts平台完成训练。完整的记录了,从环境搭建、代码准备、代码运行、结果保存的全过程,以及其中需要用的软件工具,重点是注册镜像等Modelarts的操作等,方便新手小伙伴们参考。

前言:本笔记是看群里有小伙伴在学习pytorch入门课程,想复刻课程上的迁移实例时,遇到了问题。昇腾AI入门课(PyTorch)上使用的Lenet-5的pytoch模型,使用自动迁移、工具迁移、手工迁移三种方式,在华为云的Modelarts平台完成迁移训练。本篇笔记不是描述迁移代码的实现,而是记录了将迁移好的代码如何部署到Modelarts平台完成训练,完整的记录了,从环境搭建、代码准备、代码运行、结果保存的全过程,以及其中需要用的软件工具,重点是注册镜像等Modelarts的操作等,方便新手小伙伴们参考。

课程:昇腾AI入门课(PyTorch)

https://www.hiascend.com/zh/developer/courses/detail/1627489957872480258

录播视频:【2023 · CANN训练营第一季】- 昇腾AI入门课(上)

https://www.bilibili.com/video/BV1gL411C7Ki

CANN训练营:https://www.hiascend.com/zh/developer/canncamp

一、准备

一)、参加训练营并申请代金券

        1、已加入CANN训练营的同学,群的置顶帖有代金券申请链接和操作方法。

        2、没有加入CANN训练营的同学,先在CANN训练营首页报名,报名成功页有小助手的二维码,添加小助手,会拉你进群,然后jump to第1)步。

        3、代金券审核通过后,会下发到华为云的账户里。时间大概1~2个工作日。

        申请成功后,可以在“华为云”/“费用中心”/“优惠券”里有代金券,面额是50元。

二)、下载示例代码——授课老师提供

        课程示例代码的下载链接:https://pan.baidu.com/s/194PZ2_pgJ_76H-RcBdka6A 

                                     提取码:cren

       下载的内容如下:

        Modelarts不支持上传文件夹,需要压缩一下,为了解压的方便,压缩成tar格式,windows平台下载一个7zip压缩工具,提前压缩好,备用。

三)、创建运行环境

1、登录华为云,选择“控制台”,通过搜索方式,进入ModelArts

2、注册镜像

        此时会弹出新的tab页——ModelArts,选择“镜像管理”,点击“注册镜像”

        弹出的“镜像注册”页面如下图所示,在“镜像源”填入:

swr.cn-north-4.myhuaweicloud.com/atelier/pytorch_1_8_ascend:pytorch_1.8.1-cann_6.0.0-py_3.7-euler_2.8.3-aarch64-d910-20221116111529

        如果填入“镜像源”信息后,提示“输入值无效”,则仔细检查,看拷贝过程中是否有多余的空格或者回车。

        列表中会出现“pytorch_1_8_ascend”,注册完成!

3、创建Notebook

        选择“开发环境”/“Notebook”,然后点击“创建”。

        在弹出的“创建Notebook”页面,做如下配置。

        在弹出的页面,选择右下角的“提交”按钮。

4、启动Notebook

        等待创建完成:

        点击“打开”按钮,下次再进入时,还是在这个页面,先点击“启动”按钮,等状态变成“运行中”后,再点击“打开”按钮。

        弹出这个界面就OK了

二、运行代码

        将之前打包好的代码上传到Modelarts,进行训练。

 一)、上传代码

 二)、启动终端

三)、解压缩代码包

        使用tar -xvf LeNet-5.tar,解压缩得到LeNet-5文件夹

四)、运行代码

        实验的目的是为了熟悉在Modelarts平台进行Pytorch迁移的流程,可以减少训练轮次。以“02_npu_auto_migration——自动迁移”为例,修改代码如下,将训练轮次从10改成3。其余的代码也可以照此修改,减少训练时间。

1、01_gpu——gpu训练代码

        由于实验环境没有GPU,运行这个目录下的代码,会由于没有GPU,而报错。可以将代码改成cpu模式下训练代码,或者在Modelarts申请一个Pytorch+GPU的环境进行训练。

2、02_npu_auto_migration——自动迁移

        打开终端,进入LeNet-5/02_npu_auto_migration,运行训练脚本。

        python LeNet_5_pytorch_single_npu_auto_migrate.py

        运行结果如下:

3、03_npu_tool_migration——工具迁移

        打开终端,进入LeNet-5/03_npu_tool_migration,运行训练脚本。

        python LeNet_5_pytorch_single_gpu.py

        运行结果如下:

4、04_npu_manual_migration——手工迁移

        打开终端,进入LeNet-5/04_npu_manual_migration,运行训练脚本。

        python LeNet_5_pytorch_single_npu_manual_migration.py

         运行结果如下:

五)、将运行结果下载到本地

        将运行结果下载下来,后续再做分析。由于modelarts的notebook对下载文件大小的限制,先将各目录下的训练数据目录“mnist_data”删除,然后在LeNet-5目录同级下,执行“tar -cvf LeNet_npu.tar ./LeNet-5”,生成压缩包LeNet_npu.tar。      

三、实验心得

一)、复现了课程代码运行,了解了3种迁移方式,以及在modelarts上进行pytorch模型迁移的流程。后续可以自己选择模型进行迁移,并在modelarts上进行训练。

二)、发现在训练的过程中NPU的使用率不高,下一步要研究代码,掌握调优的方法,提高训练效率。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。