通过文件变量配置资源信息支持创建以下3种类型的对象:acjob、vcjob及deploy。下面将以vcjob和deploy为例,介绍脚本适配的操作示例。
- 本节中使用的数据集为ImageNet2012数据集(注:如使用该数据集需按照数据集提供者的使用规范使用)。TensorFlow框架请参考数据集准备部分内容进行数据集预处理,详情请参见《TensorFlow 1.15模型迁移指南》的“训练前准备”章节。
- 下文中模型示例代码可能与实际版本存在差异,请以实际版本代码为准。
TensorFlow
- 下载TensorFlow代码仓中master分支中的“ResNet50_ID0360_for_TensorFlow2.X”作为训练代码,请根据该模型代码TensorFlow版本选择训练镜像中的TensorFlow版本包。
- 管理员用户上传数据集到存储节点。
- 进入“/data/atlas_dls/public”目录,将数据集上传到任意位置,如“/data/atlas_dls/public/dataset/resnet50/imagenet_TF”。
root@ubuntu:/data/atlas_dls/public/dataset/resnet50/imagenet_TF# pwd
回显示例如下:
| /data/atlas_dls/public/dataset/resnet50/imagenet_TF
|
- 执行du -sh命令,查看数据集大小。
root@ubuntu:/data/atlas_dls/public/dataset/resnet50/imagenet_TF# du -sh
- 在本地解压步骤 1中下载的训练代码,将“ModelZoo-TensorFlow-master/TensorFlow2/built-in/cv/image_classification/”下的“ResNet50_ID0360_for_TensorFlow2.X”目录重命名为“ResNet50_for_TensorFlow_2.6_code/”目录。
- 将“ResNet50_for_TensorFlow_2.6_code”上传至环境的“/data/atlas_dls/public/code/”路径下。
- 进入“MindXDL-deploy”仓库,根据MindXDL-deploy开源仓版本说明进入版本对应分支。获取“samples/train/basic-training/ranktable”目录中的“train_start.sh”、“rank_table.sh”和“utils.sh”文件,结合3中的“ResNet50_for_TensorFlow_2.6_code”目录,在host的“/data/atlas_dls/public/code”路径下,构造如下的目录结构。
/data/atlas_dls/public/code/ResNet50_for_TensorFlow_2.6_code/
├── scripts
│ ├── train_start.sh
│ ├── utils.sh
│ ├── rank_table.sh
│ ...
│ ...
├── tensorflow
│ ├── resnet_ctl_imagenet_main.py
│ ├── resnet_model.py
│ ├── resnet_runnable.py
│ ...
│ ...
├── benchmark.sh
├── modelzoo_level.txt
...
└── requirements.txt
PyTorch
- 下载PyTorch代码仓中master分支的“ResNet50_ID4149_for_PyTorch”作为训练代码。
- 自行准备ResNet-50对应的数据集,使用时请遵守对应规范。
- 管理员用户上传数据集到存储节点。
- 进入“/data/atlas_dls/public”目录,将数据集上传到任意位置,如“/data/atlas_dls/public/dataset/resnet50/imagenet”。
root@ubuntu:/data/atlas_dls/public/dataset/resnet50/imagenet# pwd
回显示例如下:
| /data/atlas_dls/public/dataset/resnet50/imagenet
|
- 执行du -sh命令,查看数据集大小。
root@ubuntu:/data/atlas_dls/public/dataset/resnet50/imagenet# du -sh
- 将步骤 1中下载的训练代码解压到本地,将解压后的训练代码中“ModelZoo-PyTorch/PyTorch/built-in/cv/classification/ResNet50_ID4149_for_PyTorch”目录上传至环境,如“/data/atlas_dls/public/code/”路径下。
- 进入“MindXDL-deploy”仓库,根据MindXDL-deploy开源仓版本说明进入版本对应分支。获取“samples/train/basic-training/ranktable”目录中的train_start.sh、rank_table.sh和utils.sh文件,在“/data/atlas_dls/public/code/ResNet50_ID4149_for_PyTorch/scripts”路径下,构造如下的目录结构。
root@ubuntu:/data/atlas_dls/public/code/ResNet50_ID4149_for_PyTorch/scripts#
scripts/
├── train_start.sh
├── utils.sh
└── rank_table.sh
MindSpore
- 下载MindSpore代码仓中master分支的“ResNet”代码作为训练代码。
- 自行准备ResNet-50对应的数据集,使用时请遵守对应规范。
- 管理员用户上传数据集到存储节点。
- 进入“/data/atlas_dls/public”目录,将数据集上传到任意位置,如“/data/atlas_dls/public/dataset/imagenet”。
root@ubuntu:/data/atlas_dls/public/dataset/imagenet# pwd
回显示例如下:
| /data/atlas_dls/public/dataset/imagenet
|
- 执行du -sh命令,查看数据集大小。
root@ubuntu:/data/atlas_dls/public/dataset/imagenet# du -sh
- 在本地解压步骤 1中下载的训练代码,将“models/official/cv/”下的“ResNet”目录重命名为“ResNet50_for_MindSpore_2.0_code”。后续步骤以“ResNet50_for_MindSpore_2.0_code”目录为例。
- 将ResNet50_for_MindSpore_2.0_code文件上传至环境“/data/atlas_dls/public/code/”路径下。
- 进入“MindXDL-deploy”仓库,根据MindXDL-deploy开源仓版本说明进入版本对应分支。获取“samples/train/basic-training/ranktable”目录中的“train_start.sh”、“utils.sh”和“rank_table.sh”文件,结合训练代码中“scripts”目录,在host上构造成如下的目录结构。
root@ubuntu:/data/atlas_dls/public/code/ResNet50_for_MindSpore_2.0_code/scripts/#
scripts/
├── cache_util.sh
├── docker_start.sh
├── run_standalone_train_gpu.sh
├── run_standalone_train.sh
...
├── rank_table.sh
├── utils.sh
└── train_start.sh