NPU训练环境准备
完成MindX DL的安装后,可使用yaml下发一个训练任务,检测系统是否可以正常运行。
获取训练镜像
可选择以下方式中的一种来获取训练镜像
- (推荐)从昇腾镜像仓库根据系统架构(ARM/X86)下载训练基础镜像(如:pytorch-modelzoo)。基于训练基础镜像进行修改,将容器中默认用户修改为root(21.0.4版本之后训练基础镜像默认用户为非root)。基础镜像中不包含训练脚本、代码等文件,训练时通常使用挂载的方式将训练脚本、代码等文件映射到容器内。
- 可基于训练基础镜像定制用户自己的训练镜像,制作过程请参考使用Dockerfile构建容器镜像(PyTorch)。
可将训练镜像重命名,如:torch:b035。
(推荐)加固镜像
可参考容器镜像安全加固。
准备数据集
- 请用户自行准备ResNet-50对应的数据集,使用时请遵守对应规范。
- 管理员用户上传数据集到存储节点。
- 进入“/data/atlas_dls/public”目录,将数据集上传到任意位置,如“/data/atlas_dls/public/dataset/imagenet_full”。
root@ubuntu:/data/atlas_dls/public/dataset/imagenet_full# pwd /data/atlas_dls/public/dataset/imagenet_full
- 执行du -sh命令,查看数据集大小。
root@ubuntu:/data/atlas_dls/public/dataset/imagenet_full# du -sh 146G
- 进入“/data/atlas_dls/public”目录,将数据集上传到任意位置,如“/data/atlas_dls/public/dataset/imagenet_full”。
修改训练脚本
- 将获取训练脚本中下载的脚本解压到本地,训练代码路径为解压后的“ResNet50_for_PyTorch_{version}_code/”目录。
- 进入“MindXDL-deploy”仓库,选择“3.0.RC3”分支。获取“samples/train”目录中的“train_start.sh”、“rank_table.sh”和“utils.sh”文件,结合1中的“ResNet50_for_PyTorch_1.4_code”目录,在host的“/data/atlas_dls/code”路径下,构造如下的目录结构。
root@ubuntu:/data/atlas_dls/code/ResNet50_for_PyTorch_1.4_code/# ResNet50_for_PyTorch_1.4_code/ ├── DistributedResnet50 ├── Dockerfile ├── docker_start.sh ├── ... ├── run_1p.sh ├── run_2p.sh ├── run_4p.sh ├── run_8p.sh └── scripts ├── train_start.sh ├── utils.sh └── rank_table.sh
父主题: PyTorch