ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CANN/ge ConvTransFormatPass Python示例

CANN/ge ConvTransFormatPass Python示例 ConvTransFormatPass Python 样例使用指导【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge本目录提供graph_base_pass/3_modify_conv_data_format_pass的纯 Python版本示例主链路与 CConvTransFormatPass一致遍历图中Conv2D/Conv2DV2筛选data_format NCHW的节点将data_format改为NHWC从卷积输出做 BFS按顺序匹配perm [0,2,3,1]与[0,3,1,2]的Transpose删除对应Transpose与 perm 常量产点并重连数据边。本样例继承FusionBasePass并重写run()通过Graph.remove_edge/add_data_edge/remove_node与Node.set_attr完成改写不使用SubgraphRewriter。与 C 版本的差异整图回滚C 在SetAttr或删边失败时用备份图恢复。当前 PythonGraph不支持整图深拷贝本样例在失败时抛出异常不保证与 C 相同的原子回滚语义。读取 Transpose 的 permC 使用GNode::GetInputConstData。Python 侧通过 perm 输入端的Const/Constant节点的value属性读取与pattern_base_pass/4_add_zero_pass中 Const 校验方式一致。若图中 perm 不以此形式出现可能无法识别并删除Transpose与 C 覆盖范围可能略有差别。前置条件已 source CANN 环境source ${ASCEND_PATH}/set_env.sh可导入 GE Python 包含ge.graph、ge.passes及 pass 加载链路使用方式通过环境变量让 GE 在编译期加载该 Python pass在3_modify_conv_data_format_pass目录下时export ASCEND_GE_PY_PASS_PATH$PWD/python/src/python_modify_conv_data_format_pass.py复用上级目录 样例 README 中的ATC 离线编译或在线推理步骤data/torch_gen_onnx.py、data/torch_forward.py等。预期现象日志中会出现类似打印PythonConvTransFormatPass is starting Remove output edges success Remove output edges success PythonConvTransFormatPass completed对比DUMP_GE_GRAPH导出的 pbtxt 时应看到卷积data_format为NHWC且目标Transpose被移除与 C 样例说明一致。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表