ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

CANN/ge PatternFusionPass模式定义

2026/9/10 1:54:18 拓冰建站 浏览量
CANN/ge PatternFusionPass模式定义 pattern【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况全量芯片支持。功能说明使用Python表达式定义一个模式。一个pattern方法对应一个pattern多个pattern可声明多个pattern方法。函数原型pattern def add_zero(self, inputs): return inputs[0] 0参数说明参数名输入/输出说明inputs输入表达式pattern输入集合。inputs[i]表示第i个图输入inputs[:N]用于显式声明连续的多个图输入。返回值说明类型说明TensorHolder返回单输出pattern表达式。list[TensorHolder] / tuple[TensorHolder, ...]返回一个多输出pattern该列表或元组不表示多个pattern。约束说明pattern方法只负责声明pattern不接收match_result。多pattern pass通过多个pattern方法声明不通过一个方法返回多个Pattern/Graph。inputs的输入数量未知因此不能直接迭代多输入场景请使用inputs[:N]。Python层会自动创建GraphBuilder、图输入、图输出并自动capture已访问的inputs和pattern返回的pattern输出。自动capture顺序固定为先按输入序号capture已访问的inputs再按return结构顺序capture pattern输出。同一个Tensor同时作为输入和输出时会按这两个角色各capture一次。调用示例from ge.passes import PatternFusionPass, pattern class AlgebraicPass(PatternFusionPass): pattern def add_zero(self, inputs): return inputs[0] 0 pattern def mul_one(self, inputs): return inputs[0] * 1 def replacement(self, inputs): return inputs[0]更多用法可参考融合pass样例。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考