# 1.导入mindietorch框架
import torch
import torch.nn as nn
import mindietorch
# 2.模型导出
class Test(nn.Module): # 定义模型Test
def forward(self, x):
x = torch.ops.aten.relu.default(x)
x= torch.ops.aten.tanh.default(x)
out = torch.ops.aten.sigmoid.default(x)
return out
shape = (2, 2)
input = torch.randn(shape)
inputs_info = [mindietorch.Input(shape)]
model = Test()
# 3.模型编译,具体参考python接口的函数方法中的mindietorch.compile。
compiled_model = mindietorch.compile(model, ir="dynamo",
inputs=inputs_info,
torch_executed_ops=[torch.ops.aten.tanh.default],
min_block_size=1)
# 4.模型推理
device_id = 0
mindietorch.set_device(device_id) # 设置使用device 0设备
npu_input = input.to("npu")
infer_ret = compiled_model.forward(npu_input)[0].to("cpu") # 模型加速推理