【2023 · CANN训练营第一季】昇腾AI入门课(PyTorch)之模型迁移

昇腾AI入门课(PyTorch)之模型迁移

将基于PyTorch的训练脚本迁移到昇腾AI处理器上进行训练,目前有以下3种方式:自动迁移(推荐)、工具迁移、手工迁移,且迁移前要保证该脚本能在GPU、CPU上运行。

  • 自动迁移:训练时,在训练脚本中导入脚本转换库,导入后执行训练。训练脚本在运行的同时,会自动将脚本中的CUDA接口替换为昇腾AI处理器支持的NPU接口。整体过程为:边训练边转换。

  • 工具迁移:训练前,通过脚本迁移工具,自动将训练脚本中的CUDA接口替换为昇腾AI处理器支持的NPU接口,并生成迁移报告(脚本转换日志、不支持算子的列表、脚本修改记录)。训练时,运行转换后的脚本。整体过程为:先转换脚本,再进行训练。

  • 手工迁移:算法工程师通过对模型的分析、GPU与NPU代码的对比进而对训练脚本进行修改,以支持在昇腾AI处理器上执行训练。迁移要点如下:定义NPU为训练设备,或将适配GPU的接口切换至适配NPU的接口。多卡迁移需修改芯片间通信方式为hccl。

1.自动迁移——只需一行代码

仅PyTorch1.8.1版本及以上使用,自动迁移方式较简单,且修改内容最少,只需在训练脚本中添加引入库代码。

import torch
import torch_npu
.....
# 在训练脚本中添加引入库代码
from torch_npu.contrib import transfer_to_npu

2.工具迁移——脚本转换工具(msFmkTransplt)

  • 功能介绍脚本转换工具根据适配规则,对用户脚本给出修改意见并提供转换功能,提高了脚本迁移速度,降低了开发者的工作量。

  • 原脚本需要在GPU环境下且基于Python 3.7及以上能够跑通,脚本转换后的执行逻辑与转换前保持一致。

  • 此脚本转换工具当前支持PyTorch1.5.0和1.8.1版本的训练脚本转换。

#执行转换进入脚本转换工具所在路径	

cd Ascend-cann-toolkit安装目录/ascend-toolkit/latest/tools/ms_fmk_transplt/

#执行脚本转换./pytorch_gpu2npu.sh -i 原始脚本路径 -o 脚本迁移结果输出路径 -v 原始脚本框架版本

#完成脚本转换

3.手工迁移

Step1 迁移前的准备

Step2 单卡模型迁移

在这里插入图片描述

Step3 多卡模型迁移
在这里插入图片描述

Extra 报错排查

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值