pip3 install pandas #pandas版本号需大于或等于1.2.4 pip3 install libcst #Python语法树解析器,用于解析Python文件 pip3 install prettytable #将数据可视化为图表形式 pip3 install jedi #可选,用于跨文件解析,建议安装
cd Ascend-cann-toolkit安装目录/ascend-toolkit/latest/tools/ms_fmk_transplt/
./pytorch_gpu2npu.sh -i 原始脚本路径 -o 脚本迁移结果输出路径 -v 原始脚本框架版本 [-s] [-m] [distributed -t 目标模型变量名 -m 训练脚本的入口文件]
distributed及其参数-m、-t在语句最后指定。
参考示例:
#单卡 ./pytorch_gpu2npu.sh -i /home/train/ -o /home/out -v 1.11.0 [-s] [-m] #分布式 ./pytorch_gpu2npu.sh -i /home/train/ -o /home/out -v 1.11.0 [-s] [-m] distributed -m /home/train/train.py [-t model]
“[]”表示可选参数,实际使用可不用添加。
参数 |
参数说明 |
取值示例 |
---|---|---|
-i --input |
|
/home/username/fmktransplt |
-o --output |
|
/home/username/fmktransplt_output |
-s --specify-device |
|
- |
distributed |
|
- |
-v --version |
|
|
-m --modelarts |
|
- |
-h --help |
显示帮助信息。 |
- |
脚本迁移完成后,进入脚本迁移结果输出路径查看结果文件,以GPU单卡脚本迁移为NPU多卡脚本为例。
├── xxx_msft/xxx_msft_multi // 脚本迁移结果输出目录 │ ├── 生成脚本文件 // 与迁移前的脚本文件目录结构一致 │ ├── transplant_result_file //存放迁移结果文件 │ │ ├── affinity_api_call.csv //可替换为亲和API的原生API调用列表 │ │ ├── msFmkTranspltlog.txt // 脚本迁移过程日志文件,日志文件限制大小为1M,若超过限制将分多个文件进行存储,最多不会超过10个 │ │ ├── cuda_op_list.csv //分析出的cuda API列表 │ │ ├── unknown_api.csv //支持情况存疑的API列表 │ │ ├── unsupported_api.csv //不支持的API列表 │ │ ├── api_precision_advice.csv //API精度调优的专家建议 │ │ ├── api_performance_advice.csv //API性能调优的专家建议和指导措施 │ │ ├── change_list.csv // 修改记录文件 │ ├── run_distributed_npu.sh // 多卡启动shell脚本 │ ├── ascend_modelarts_function │ │ ├── modelarts_path_manager.py // 启用ModelArts参数,会生成该路径映射适配层代码文件 │ │ ├── path_mapping_config.py // 启用ModelArts参数,会生成该路径映射配置文件