本章节将指导用户使用0代码迁移工具,将PyTorch训练脚本从GPU平台迁移至昇腾NPU平台。当前工具支持PyTorch 1.8.1和1.11.0版本的训练脚本的迁移,迁移方式较简单,且修改内容最少,只需在训练脚本中导入库代码。
0代码迁移工具放置于CANN开发套件包所在安装路径的ascend-toolkit/latest/tools/ms_fmk_transplt/torch_npu_bridge目录下,执行如下命令配置当前进程的环境变量。
export PYTHONPATH={CANN包安装路径}/ascend-toolkit/latest/tools/ms_fmk_transplt/torch_npu_bridge:$PYTHONPATH
import transfer_to_npu ...
若用户训练脚本中包含昇腾NPU平台不支持的torch.nn.parallel.DataParallel接口,需要手动修改成torch.nn.parallel.DistributedDataParallel接口执行多卡训练,参考示例GPU精度对齐>8p改写进行修改。