0代码迁移工具

本章节将指导用户使用0代码迁移工具,将PyTorch训练脚本从GPU平台迁移至昇腾NPU平台。当前工具支持PyTorch 1.8.1和1.11.0版本的训练脚本的迁移,迁移方式较简单,且修改内容最少,只需在训练脚本中导入库代码。

迁移操作

  1. 配置环境变量。

    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

  2. 导入0代码迁移工具。

    在训练入口py文件中最上面,例如train.py中插入以下引用内容。
    import transfer_to_npu
    ...

  3. 迁移完成,可参考原始脚本提供的训练流程,在昇腾NPU平台直接运行修改后的模型脚本即可。

若用户训练脚本中包含昇腾NPU平台不支持的torch.nn.parallel.DataParallel接口,需要手动修改成torch.nn.parallel.DistributedDataParallel接口执行多卡训练,参考示例GPU精度对齐>8p改写进行修改。