分析迁移操作
- 进入X2MindSpore工具所在路径。
cd Ascend-cann-toolkit安装目录/ascend-toolkit/latest/tools/x2mindspore/
- 启动分析迁移任务。参考表1配置信息,执行如下命令启动分析迁移任务。
./run_x2mindspore.sh -i 原始脚本路径 -o 脚本迁移结果输出路径 -f 原始脚本的框架 [-d 指定设备] [-m] [-g] [-t 目标模型变量名][--dynamic-analysis]
其中若启用“--dynamic-analysis”参数,迁移任务完成后需参考后续操作对训练脚本进行修改,才能获取动态shape分析报告。
表1 参数说明 参数
参数说明
取值示例
-i
--input
- 待迁移的原始工程目录。
- 必选。
/home/username/x2mindspore
-o
--output
- 脚本迁移结果文件输出路径。
- 不开启“-d/--distributed”即迁移至单卡脚本场景下,输出目录名为xxx_x2ms;开启“-d/--distributed”即迁移至多卡脚本场景下,输出目录名为xxx_x2ms_multi,xxx为原始脚本所在文件夹名称。
- 必选。
/home/username/x2mindspore_output
-f
--framework
- 原始脚本的框架,可选择pytorch、tensorflow_v2和tensorflow_v1。
- 必选。
- pytorch
- tensorflow_v2
- tensorflow_v1
-d
--distributed
- 将GPU单卡脚本迁移为GPU或Ascend多卡脚本,默认为“ascend”。仅支持pytorch和tensorflow_v2框架。
- 可选。
- gpu
- ascend
-m
--modelarts
- 迁移后的脚本支持在ModelArts平台进行训练作业。仅支持pytorch和tensorflow_v2框架。
- 可选。
-
-g
--graph
- 将脚本迁移至MindSpore 1.8-1.10版本的Graph模式。不指定该参数时,默认迁移至PyNative模式。目前仅有X2MindSpore 模型列表中ResNet、BiT系列(PyTorch)和UNet(PyTorch)的模型支持Graph模式迁移。该参数不能与“-d/--distributed”同时使用。
- 可选。
-
-t
--target-model
- 目标模型变量名,默认为“model”。该参数应与“-g/--graph”配合使用。
- 可选。
model
--dynamic-analysis
- 把脚本转换为用于动态shape分析的工程。目前仅支持PyTorch框架的脚本转换。该参数不能与“-d/--distributed”、“-m/--modelarts”和“-g/--graph”一起使用。
- 可选。
-
-h
--help
- 显示帮助信息。
- 可选。
-
- 查看迁移结果。
脚本迁移后,可在2指定的输出路径中查看结果文件。
├── xxx_x2ms/xxx_x2ms_multi // 脚本迁移结果输出目录 │ ├── 迁移后的脚本文件 // 与迁移前的脚本文件目录结构一致。 │ ├── x2ms_adapter // 适配层文件。 │ │ ├── modelarts │ │ │ ├── path_mapping_config.py // 启用ModelArts参数,会生成该路径映射配置文件。 │ │ │ ├── modelarts_path_manager.py // 启用ModelArts参数,会生成该路径映射适配层代码文件。 │ ├── 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卡环境组网信息样例文件。
- 在执行迁移后的模型文件前,请先将输出的工程路径加入环境变量PYTHONPATH中,示例如下。
export PYTHONPATH=${HOME}/output/xxx_x2ms:$PYTHONPATH
父主题: X2MindSpore