文章目录
- 第4题
- 第5题
首先安装pytorch
参考:https://gitee.com/ascend/pytorch
安到测试这一步,报错,没办法继续了。
RuntimeError: Unsupported soc version: Ascend310
https://gitee.com/ascend/pytorch/issues/I68UDG?from=project-issue
原来是我们的云服务器不支持,那作业就提交一下脚本就OK了。
第4题
采用课程中学习到的手工或者自动迁移方式,将上述脚本迁移到昇腾npu上,单机单卡,提供迁移脚本,突出关键点并截图。【20分】
#·进入脚本转换工具所在路径
cd /home/HwHiAiUser/Ascend/ascend-toolkit/latest/tools/ms_fmk_transplt
# 执行脚本转换。
./pytorch_gpu2npu.sh -i /home/HwHiAiUser/LeNet -o /home/HwHiAiUser/LeNet_output
这样的话,会采用加一句话迁移的方式,在脚本中添加:
from torch_npu.contrib import transfer_to_npu
这样就开始运行了。
我的代码:https://gitee.com/qmckw/lenet_msft
第5题
提供使用ddp迁移的单机8卡的训练脚本,无需运行,提供修改后的脚本,并突出关键点,提供截图。【10分】
#·进入脚本转换工具所在路径
cd /home/HwHiAiUser/Ascend/ascend-toolkit/latest/tools/ms_fmk_transplt
# 执行脚本转换。
./pytorch_gpu2npu.sh -i /home/HwHiAiUser/ddp -o /home/HwHiAiUser/ddp_output
## Bash运行
# DDP: 使用torch.distributed.launch启动DDP模式
# 使用NPU
# 1.(性能低)
# python3.7 -m torch.distributed.launch --nproc_per_node=8 --master_port=23456
# 2.(性能中)
# mp.spawn
#3.(性能高)
# for i in $(seq 0 8)
# do
# taskset -c 0-24 python3.7 xxx
# done
我的代码:https://gitee.com/qmckw/ddp_ascend