基础功能
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
INPUT_FORMAT
输入数据格式。此参数实际对应的options参数为input_format。
参数取值:
支持NCHW、NHWC、ND、NCDHW、NDHWC格式。
配置示例:
{ge::ir_option::INPUT_FORMAT, "NHWC"}如果同时开启AIPP,在进行推理业务时,输入图片数据要求为NHWC排布。该场景下INPUT_FORMAT参数指定的数据格式不生效。
[!NOTE]说明 该参数仅针对动态batch_size、动态分辨率和动态维度场景。 上述场景下,INPUT_FORMAT必须设置并且和所有Data算子的format保持一致,否则会导致模型编译失败。
产品支持情况:
全量芯片支持。
OP_NAME_MAP
扩展算子(非标准算子)映射配置文件路径和文件名,不同的网络中某扩展算子的功能不同,可以指定该扩展算子到具体网络中实际运行的扩展算子的映射。此参数实际对应的options参数为op_name_map。
Caffe网络中具有相同类型名但计算功能不同的层,比如DetectionOutput层,需要使用算子映射指明为FSRDetectionOutput、SSDDetectionOutput等检测算子类型,否则生成离线模型会执行失败。
该参数仅适用与Caffe框架。
路径和文件名:支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、中划线(-)、句点(.)、中文字符。
配置示例:
{ge::ir_option::OP_NAME_MAP, "/home/test/opname_map.cfg"}其中,扩展算子映射配置文件内容示例如下:
OpA:Network1OpA产品支持情况:
- Ascend 950PR/Ascend 950DT:不支持
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持
- Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持
- Atlas 200I/500 A2 推理产品:支持
- Atlas 推理系列产品:支持
- Atlas 训练系列产品:支持
- IPV350:不支持
INSERT_OP_FILE
输入预处理算子的配置文件路径,例如Aipp算子。参数详细使用请参见更多特性 > AIPP。此参数实际对应的options参数为ge.insertOpFile。
若配置了该参数,则不能对同一个输入节点同时使用INPUT_FP16_NODES参数。
配置文件路径:支持大小写字母、数字,下划线;文件名部分:支持大小写字母、数字,下划线和点(.)
配置示例:
{ge::ir_option::INSERT_OP_FILE, "/home/test/aipp.cfg"}配置文件的内容示例如下:
aipp_op { aipp_mode:static input_format:YUV420SP_U8 csc_switch:true var_reci_chn_0:0.00392157 var_reci_chn_1:0.00392157 var_reci_chn_2:0.00392157 }[!NOTE]说明
配置文件详细说明,请参考《ATC离线模型编译工具》。
产品支持情况:
- Ascend 950PR/Ascend 950DT:支持
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
- Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
- Atlas 200I/500 A2 推理产品:支持
- Atlas 推理系列产品:支持
- Atlas 训练系列产品:支持
- IPV350:不支持
OUTPUT_TYPE
网络输出数据类型。此参数实际对应的options参数为ge.outputDatatype。
参数取值:
- FP32:推荐分类网络、检测网络使用。
- FP16:推荐分类网络、检测网络使用。通常用于一个网络输出作为另一个网络输入场景。
- UINT8:图像超分辨率网络,推荐使用,推理性能更好。
- INT8
- UINT16
- INT16
- UINT32
- INT32
- UINT64
- INT64
- DOUBLE
- HIF8:仅Ascend 950PR/Ascend 950DT支持该类型。
- FP8E5M2:仅Ascend 950PR/Ascend 950DT支持该类型。
- FP8E4M3FN:仅Ascend 950PR/Ascend 950DT支持该类型。
模型编译后,在对应的*.om模型文件中,上述数据类型分别呈现方式如下:
- DT_FLOAT
- DT_FLOAT16
- DT_UINT8
- DT_INT8
- DT_UINT16
- DT_INT16
- DT_UINT32
- DT_INT32
- DT_UINT64
- DT_INT64
- DT_DOUBLE
- DT_HIFLOAT8
- DT_FLOAT8_E5M2
- DT_FLOAT8_E4M3FN
配置示例:
{ge::ir_option::OUTPUT_TYPE, "FP32"}参数值约束:
- 若不指定具体数据类型,则以原始网络模型最后一层输出的算子数据类型为准。
- 若指定了类型,则以该参数指定的类型为准。
产品支持情况:
全量芯片支持。
INPUT_FP16_NODES
指定输入数据类型为FP16的输入节点名称。此参数实际对应的options参数为ge.INPUT_NODES_SET_FP16。
例如:"node_name1;node_name2",指定的节点必须放在双引号中,节点中间使用英文分号分隔。若配置了该参数,则不能对同一个输入节点同时使用INSERT_OP_FILE参数。
配置示例:
{ge::ir_option::INPUT_FP16_NODES, "node_name1;node_name2"}产品支持情况:
全量芯片支持。
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考