【2023 · CANN训练营第一季】——将LeNet-5的Pytorch训练迁移到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的使用率不高,下一步要研究代码,掌握调优的方法,提高训练效率。
- 点赞
- 收藏
- 关注作者
评论(0)