昇腾社区首页
中文
注册

快速上手

用户使能图模式之前,请先将模型迁移至昇腾NPU上,确保能够在单算子模式下正确执行,具体请参考PyTorch 训练模型迁移调优指南迁移适配 > 模型脚本迁移章节。

示例说明

TorchAir提供的昇腾编译后端,能够作为参数传入PyTorch的torch.compile接口中。TorchAir的使能示例如下:

# 导入torchair框架
import torch
import torch_npu
import torchair as tng

# 定义模型Model
class Model(torch.nn.Module):
    def __init__(self):
        super().__init__()
    def forward(self, x, y):
        return torch.add(x, y)

# 实例化模型model
model = Model()

# 从torchair框架获取npu提供的 默认backend
npu_backend = tng.get_npu_backend()

# 使用torchair的backend去调用compile接口编译模型
model = torch.compile(model, backend=npu_backend, dynamic=False)

# 使用编译后的model去执行
x = torch.randn(2, 2)
y = torch.randn(2, 2)
model(x, y)

接口说明

torch.compile接口参数说明如表1所示。
表1 torch.compile接口说明

参数名称

说明

fullgraph

继承PyTorch原有特性,具体请参考LINK

dynamic

disable

model

入图部分的模型或者函数,为必选参数。

backend

后端选择,默认值为"inductor",目前昇腾NPU暂不支持。昇腾NPU成图只有一种后端,通过torchair.get_npu_backend()获取。

mode

开销模式,内存开销模式选择,昇腾NPU暂不支持。默认值为None。

option

优化选项,昇腾NPU不支持。默认值为None。