迁移操作

操作步骤

  1. 启动脚本迁移。

    通过以下任一方式发起脚本迁移任务:
    • 在工具栏选择Ascend > Migration Tools > X2MindSpore
    • 单击工具栏中图标。
    • 右键单击工程目录中的文件夹,选择“X2MindSpore”

  2. 参数配置。

    X2MindSpore启动后界面如图1 X2MindSpore参数配置界面所示,用户自行根据实际情况配置参数。

    图1 X2MindSpore参数配置界面(开启Distributed)
    图2 X2MindSpore参数配置界面(开启Graph)
    表1 X2MindSpore参数说明

    参数

    参数说明

    Framework

    要进行迁移的原始脚本的框架,必选。

    取值如下。

    • PyTorch(默认)
    • TensorFlow 1
    • TensorFlow 2

    Input Path

    要进行迁移的原始工程目录。必选。

    Output Path

    分析迁移结果文件输出路径。会在该路径下输出带有x2ms或x2ms_multi后缀的目录。必选。

    不开启迁移至多卡脚本功能场景下,输出目录名为xxx_x2ms;开启迁移至多卡脚本功能场景下,输出目录名为xxx_x2ms_multi,xxx为原始脚本所在文件夹名称。

    Distributed

    将GPU单卡脚本迁移为多卡脚本。“Framework”参数选择“PyTorch”和“TensorFlow 2”时展现。开启此参数,将展示“Device”参数。目前该功能不支持TensorFlow 1。可选。默认关闭。

    Device

    将GPU单卡脚本迁移为指定设备的多卡脚本。"Distributed"开启时展示。必选。取值如下。

    • Ascend(默认)
    • GPU

    Graph

    迁移后的脚本支持在MindSpore 1.8及更新版本的Graph模式下运行。“Framework”参数选择“PyTorch”时展现。开启此参数,将展示“Target Model”参数。可选。默认关闭(即默认迁移至PyNative模式)。

    目前该参数仅支持表1中ResNet和BiT系列的模型迁移至Graph模式,且不能与“Distributed”同时使用。

    Target Model

    "Graph"开启后此参数才会体现。目标模型变量名,默认为“model”,可选。

  3. 单击“Transplant”,执行迁移任务。

    完成后,Output Path输出目录下查看结果文件。

    ├── xxx_x2ms/xxx_x2ms_multi              // 脚本迁移结果输出目录
    │   ├── 迁移后的脚本文件             // 与迁移前的脚本文件目录结构一致。
    │   ├── x2ms_adapter                 // 适配层文件。
    │   ├── unsupported_api.csv          // 不支持API列表文件。
    │   ├── custom_supported_api.csv     // 工具自定义适配API列表文件(目前仅支持PyTorch框架的训练脚本)。
    │   ├── supported_api.csv            // 支持API列表文件。
    │   ├── deleted_api.csv              // 删除API列表文件。
    │   ├── x2mindspore.log              // 迁移日志,日志文件限制大小为1M,若超过限制将分多个文件进行存储,最多不会超过10个。
    │   ├── run_distributed_ascend.sh       // 启用Distributed参数,且Device指定Ascend设备时,会生成该多卡启动shell脚本。
    │   ├── rank_table_2pcs.json            // 启用Distributed参数,且Device指定Ascend设备时,会生成该2卡环境组网信息样例文件。
    │   ├── rank_table_8pcs.json            // 启用Distributed参数,且Device指定Ascend设备时,会生成该8卡环境组网信息样例文件。

  4. 在执行迁移后的模型文件前请先将输出的工程路径加入环境变量PYTHONPATH中。

迁移完成后