图模式使用入口
GE面向不同的用户场景,提供了不同的对接方案,便于用户更加便捷地使用GE图引擎能力。
使用入口 |
GE提供的对接方案 |
参考文档 |
---|---|---|
onnx/pb等模型图模式执行 |
GE提供ATC命令行工具或者C++语言的Parser接口,支持将PyTorch和TensorFlow等框架导出的模型(*.onnx/*.pb/*.air格式)转换为适配昇腾AI处理器的离线模型(*.om格式),并基于图模式执行。 |
|
在PyTorch等AI框架内使用GE图模式 |
对于PyTorch、TensorFlow、MindSpore、PaddlePaddle等主流AI框架,目前已支持接入GE,用户仅需对训练代码进行少量的迁移适配即可使用GE图引擎能力,从而在昇腾AI处理器加速执行训练或在线推理任务。 |
|
对于其他三方框架,GE提供了统一的C++图开发接口支持用户自行完成适配动作。 |
||
使用图开发接口全新构建网络 |
GE提供了统一的C++图开发接口支持用户自定义图结构,并在昇腾AI处理器基于图模式执行。 |
PyTorch框架接入GE

TorchAir提供的昇腾编译后端能够作为参数传入PyTorch的torch.compile接口中,从而使能图模式执行,示例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# 先导入torch_npu,再导入torchair import torch import torch_npu import torchair # 定义模型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 config = torchair.CompilerConfig() npu_backend = torchair.get_npu_backend(compiler_config=config) # 使用TorchAir的backend调用compile接口编译模型 opt_model = torch.compile(model, backend=npu_backend) # 执行编译后的model x = torch.randn(2, 2) y = torch.randn(2, 2) opt_model(x, y) |
具体使用方法为:
TensorFlow框架接入GE
TensorFlow 1.15网络为图模式执行方式,支持通过TF Adapter接入GE图引擎,将前端TensorFlow模型转换为Ascend IR表达的计算图,再通过GE进行计算图的编译优化等操作,下发到昇腾硬件执行。TensorFlow 2.6.5网络的默认执行方式为Eager模式(即单算子模式),即每个计算操作下发后立即执行并返回。TensorFlow 2.6.5提供了tf.function装饰器,用于将python函数中调用的TF2运算封装成graph执行,获取性能收益。当前针对TensorFlow 2.6.5,昇腾平台仅支持tf.function修饰的函数算子在昇腾硬件加速执行,即仅支持图模式执行。

将原始TensorFlow 1.15网络迁移到昇腾平台执行的详细使用方法请参见《TensorFlow 1.15模型迁移指南》。
将原始TensorFlow 2.6.5网络迁移到昇腾平台执行的详细使用方法请参见《TensorFlow 2.6.5模型迁移指南》。