旧版训练迁移至新版训练需要注意哪些问题?
新版训练和旧版训练的差异主要体现在以下3点:
新旧版创建训练作业方式差异
- 旧版训练支持使用“算法管理”(包含已保存的算法和订阅的算法)、“常用框架”、“自定义”(即自定义镜像)方式创建训练作业。
- 新版训练支持使用“自定义算法”、“我的算法”、“我的订阅”方式来创建训练作业。
新版训练的创建方式有了更明确的类别划分,选择方式和旧版训练存在区别。
- 旧版中使用“算法管理”中已保存的算法创建训练作业的用户,可以在新版训练中使用“我的算法”创建训练作业。
- 旧版中使用“算法管理”中订阅的算法创建训练作业的用户,可以在新版训练中使用“我的订阅”创建训练作业。
- 旧版中使用“常用框架”创建训练作业的用户,可以在新版训练中使用“自定义算法”创建训练作业(启动方式选择“预置框架”)。
- 旧版中使用“自定义”(即自定义镜像)创建训练作业的用户,可以在新版训练中使用“自定义算法”创建训练作业(启动方式选择“自定义”)。
新旧版训练代码适配的差异
旧版训练中,用户需要在输入输出数据上做如下配置:
#解析命令行参数 import argparse parser = argparse.ArgumentParser(description='MindSpore Lenet Example') parser.add_argument('--data_url', type=str, default="./Data", help='path where the dataset is saved') parser.add_argument('--train_url', type=str, default="./Model", help='if is test, must provide\ path where the trained ckpt file') args = parser.parse_args() ... #下载数据参数至容器本地,在代码中使用local_data_path代表训练输入位置 mox.file.copy_parallel(args.data_url, local_data_path) ... #上传容器本地数据至obs路径 mox.file.copy_parallel(local_output_path, args.train_url)
新版训练中,用户配置输入输出数据,无需书写下载数据的代码,在代码中把arg.data_url和arg.train_url当做本地路径即可,详情参考开发自定义脚本。
#解析命令行参数 import argparse parser = argparse.ArgumentParser(description='MindSpore Lenet Example') parser.add_argument('--data_url', type=str, default="./Data", help='path where the dataset is saved') parser.add_argument('--train_url', type=str, default="./Model", help='if is test, must provide\ path where the trained ckpt file') args = parser.parse_args() ... # 下载的代码无需设置,后续涉及训练数据和输出路径数据使用data_url和train_url即可 #下载数据参数至容器本地,在代码中使用local_data_path代表训练输入位置 #mox.file.copy_parallel(args.data_url, local_data_path) ... #上传容器本地数据至obs路径 #mox.file.copy_parallel(local_output_path, args.train_url)
新旧版训练预置引擎差异
- 新版的预置训练引擎默认安装Moxing2.0.0及以上版本。
- 新版的预置训练引擎统一使用了Python3.7及以上版本。
- 新版镜像修改了默认的HOME目录,由“/home/work”变为“/home/ma-user”,请注意识别训练代码中是否有“/home/work”的硬编码。
- 提供预置引擎类型有差异。新版的预置引擎在常用的训练引擎上进行了升级。
如果您需要使用旧版训练引擎,单击显示旧版引擎即可选择旧版引擎。新旧版支持的预置引擎差异请参考表1。详细的训练引擎版本说明请参考新版训练和旧版训练分别支持的AI引擎。
表1 新旧版预置引擎差异 工作环境
预置训练I引擎与版本
旧版训练
新版训练
TensorFlow
Tensorflow-1.8.0
√
x
Tensorflow-1.13.1
√
后续版本支持
Tensorflow-2.1.0
√
√
MXNet
MXNet-1.2.1
√
x
Caffe
Caffe-1.0.0
√
x
Spark_MLlib
Spark-2.3.2
√
x
Ray
RAY-0.7.4
√
x
XGBoost-Sklearn
XGBoost-0.80-Sklearn-0.18.1
√
x
PyTorch
PyTorch-1.0.0
√
x
PyTorch-1.3.0
√
x
PyTorch-1.4.0
√
x
PyTorch-1.8.0
x
√
Ascend-Powered-Engine
Mindspore-1.3.0
√
x
Mindspore-1.7.0
x
√
Tensorflow-1.15
√
√
MPI
MindSpore-1.3.0
x
√
Horovod
horovod_0.20.0-tensorflow_2.1.0
x
√
horovod_0.22.1-pytorch_1.8.0
x
√
MindSpore-GPU
MindSpore-1.1.0
√
x
MindSpore-1.2.0
√
x