迁移操作
- 进入X2MindSpore工具所在路径。
cd Ascend-cann-toolkit安装目录/ascend-toolkit/latest/tools/x2mindspore/
- 启动迁移任务。参考表1配置信息,执行如下命令启动分析迁移任务。
./run_x2mindspore.sh -i 原始脚本路径 -o 脚本迁移结果输出路径 -f 原始脚本的框架 [-d 指定设备] [-m] [-g] [-t 目标模型变量名]
表1 参数说明 参数
参数说明
取值示例
-i
--input
- 要进行迁移的原始工程目录。
- 必选。
/home/username/x2mindspore
-o
--output
- 脚本迁移结果文件输出路径。会在该路径下输出带有x2ms或x2ms_multi后缀的目录。不开启迁移至多卡脚本功能场景下,输出目录名为xxx_x2ms;开启迁移至多卡脚本功能场景下,输出目录名为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”。目前该功能不支持TensorFlow 1.x。
- 可选。
- gpu
- ascend
-g
--graph
- 迁移后的脚本支持在MindSpore 1.8及更新版本的Graph模式下运行。不指定该参数时,默认迁移至PyNative模式。目前仅有模型列表中ResNet和BiT系列(PyTorch)的模型支持Graph模式迁移。该参数不能与“-d/--distributed”同时使用。
- 可选。
-
-t
--target-model
- 目标模型变量名,默认为“model”。该参数与“-g/--graph”配合使用。
- 可选。
model
-h
--help
- 显示帮助信息。
- 可选。
-
- 查看迁移结果。
脚本迁移后,可在2指定的脚本迁移结果文件输出路径中查看结果文件。
├── xxx_x2ms/xxx_x2ms_multi // 脚本迁移结果输出目录 │ ├── 迁移后的脚本文件 // 与迁移前的脚本文件目录结构一致。 │ ├── x2ms_adapter // 适配层文件。 │ ├── unsupported_api.csv // 不支持API列表文件。 │ ├── custom_supported_api.csv // 工具自定义适配API列表文件(目前仅支持PyTorch2MindSpore工具)。 │ ├── 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中。
父主题: X2MindSpore