文档首页> AI开发平台ModelArts> 常见问题> 训练作业> 功能咨询> 旧版训练迁移至新版训练需要注意哪些问题?
更新时间:2024-01-17 GMT+08:00

旧版训练迁移至新版训练需要注意哪些问题?

新版训练和旧版训练的差异主要体现在以下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
    表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

    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