昇腾社区首页
中文
注册

快速入门

  • 使用MindIE Torch前,已参考《MindIE安装指南》中的“安装MindIE > 方式二:物理机安装方式 >环境准备”章节完成环境准备。
  • 此快速入门以提前编译TorchScript路线为例介绍MindIE Torch模型迁移流程,torch.export和torch.compile路线可参见MindIE Torch编程范式,更多样例可参见样例参考
  • TorchScript模型导出详细指导可参见Pytorch官网指导,torch.export导出ExportedProgram详细指导可参见Pytorch官网指导

MindIE Torch模型迁移流程分为:导入mindietorch框架、模型导出、模型编译、模型推理和资源释放五个步骤,使用示例如下所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 1.导入mindietorch框架
import torch
import mindietorch

# 2.模型导出
class SimpleNet(torch.nn.Module): # 定义模型SimpleNet
    def __init__(self):
        super().__init__()
    def forward(self, x, y):
        return torch.add(x, y)
traced_model = torch.jit.trace(SimpleNet().eval(), (torch.ones([5, 5]), torch.ones([5, 5]))) # 模型TorchScript模型导出

# 3.模型编译
mindietorch.set_device(0) # 设置使用device 0设备
compiled_model = mindietorch.compile(traced_model, inputs=[mindietorch.Input((5, 5)), mindietorch.Input((5, 5))], soc_version="Ascend310P3") # 静态模型编译

# 4.模型推理
x = torch.ones([5, 5])
y = torch.ones([5, 5])
result = compiled_model.forward(x.to("npu"), y.to("npu")) # 模型加速推理
print(result.to("cpu")) # 输出计算结果

# 5.资源释放
mindietorch.finalize()