跳到主要内容

OMG参数

  • 路径:支持大小写字母、数字、下划线。
  • 文件名:支持大小写字母、数字、下划线和点(.)。
参数名称参数描述是否必选默认值
--h/help显示帮助信息。不涉及
--mode运行模式。 0:生成DaVinci模型。 1:模型转json。json可查看模型结构的文本格式。 3:仅做预检,检查模型文件的内容是否合法。0
--model原始框架模型文件路径。不涉及
--framework原始框架类型。 0:Caffe。 3:TensorFlow。 5:ONNX。 6:MindSpore。 说明: - 当mode为1时,该参数可选,可以指定Caffe、TensorFlow、ONNX、MindSpore,不指定时默认为离线模型转json。 - 当mode为0或3时,该参数必选,可以指定Caffe或TensorFlow或ONNX或MindSpore。 - 当原始模型格式为TensorFlow的CheckPoint、SavedModel、TFLite时,推荐使用tf2onnx工具转换成ONNX模型后使用。不涉及
--weight权值文件路径。当原始模型是Caffe时需要指定。当原始模型是其他框架时不需要指定。不涉及
--output存放转换后的离线模型文件的路径(包含文件名),例如"out/caffe_resnet18"。转换后的模型文件,会自动以.om的后缀结尾。不涉及
--hiai_version指定使用OMG的版本,当前支持:v300v310IR。
--om模型文件路径。当mode为1时必填。不涉及
--json模型文件转换为json格式文件的路径。不涉及
--input_shape输入数据的shape。当input_shape参数为-1时,必须和--dynamic_dims参数联合使用。 例如:“input_name1: n1, c1, h1, w1; input_name2: n2, c2, h2, w2”。input_name必须是转换前的网络模型中的节点名称。 当原始模型是ONNX时,input_name必须是模型转换前的网络模型中input算子的name。 说明: - 当原始模型是ONNX,并且ONNX模型输入维度为动态时,此参数必须指定。 - 当原始模型是TensorFlow,并且TensorFlow模型输入维度为动态时,此参数必须指定。不涉及
--input_format输入数据格式:NCHW和NHWC。 说明: - 当原始框架是Caffe时或ONNX或MindSpore时,此参数不生效。 - 当原始框架是TensorFlow时,绝大多数场景不需要指定,如果转换时提示需要指定,根据实际情况指定。不涉及
--input_type支持设定模型输入格式,支持指定为FP32、FP16、 INT32、UINT8等,包括多输入和单输入。具体是否能成功生成离线模型,取决于原始模型是否支持指定为该格式的输入。模型输入支持场景详见非AIPP场景设定输入类型支持情况和AIPP场景设定输入类型支持情况。 例如:"input_name1:FP16;input_name2:UINT8"。 input_name必须是转换前的网络模型中的节点名称。 当原始模型是ONNX时,input_name必须是模型转换前的网络模型中input算子的name。FP32
--input_fp16_nodes不支持与--input_type同时设置。 指定数据类型为“fp16nchw”的输入节点名称。 例如:“node_name1;node_name2”。 说明: 当原始框架是ONNX或MindSpore时,此参数不生效。不涉及
--out_nodes指定输出节点。 - 如果原始模型是TensorFlow或者Caffe,按照以下格式指定:“node_name1:0;node_name1:1;node_name2:0”。 node_name必须是模型转换前的网络模型中的节点名称。同一个节点的输出从0开始,如果该节点有多个输出,依次往后累加。 - 如果原始模型是ONNX,按照以下格式指定:“tensor_name1;tensor_name2”。 tensor_name必须是模型转换前的网络模型中的节点输出Tensor名称。不涉及
--output_type支持设定模型的输出数据类型,支持指定为FP32、FP16、INT32、UINT8等,包括多输出和单输出。具体是否能成功生成离线模型,取决于原始模型是否支持指定为该类型的输出。模型输出支持场景详见非AIPP场景设定输入类型支持情况。 例如:"output_name1:FP16;output_name2:UINT8"。 output_name必须是转换前的网络模型中的节点名称。 当原始框架是ONNX时,output_name可以是模型转换前的网络模型中output算子的name或者是开发者指定out_nodes中所用到的tensor_name。FP32
--is_output_fp16不支持与--output_type同时设置。 标注输出的数据类型是否为“fp16 nchw”。 例如:false, true, false, true。 说明: 当原始框架是ONNX或MindSpore时,此参数不生效。false
--stream_num模型使用的stream数量,当前仅支持1。1
--check_report预检结果保存文件路径。若不指定该路径,在模型转换失败或mode为3(仅做预检)时,将预检结果保存在当前路径下。不涉及
--net_format指定网络算子优先选用的数据格式。 说明: 该参数现已不推荐使用,可通过网络推导得出。不涉及
--insert_op_confAIPP配置文件路径。详情参见模型转换AIPP配置文件说明不涉及
--op_name_map算子映射配置文件路径。包含DetectionOutput网络时需要指定。 例如:不同的网络中DetectionOutput算子的功能不同,指定DetectionOutput到FSRDetectionOutput或者SSDDetectionOutput的映射。 说明: 算子映射配置文件的内容示例如:DetectionOutput:SSDDetectionOutput。不涉及
--compress_conf轻量化配置文件路径。该参数需与轻量化工具搭配使用,由轻量化工具自动生成。具体参见模型轻量化不涉及
--weight_data_type支持设定模型权值数据类型,支持指定为FP32或FP16。 该参数仅针对模型中权值数据类型为FP32时生效,根据设定将权值数据类型由FP32转为FP16存储或维持FP32不变。该参数默认值为FP16。 例如:"weight_data_type:FP16"。 说明: 由于CPUCL不支持FP16的权重进行计算,如果模型需要兼容CPU计算库,需要指定该参数为FP32。FP16
--weight_merge离线模型权值归并开关,支持指定在离线模型生成时权值是否进行归并存储操作;该参数为true时,模型权值归并存储。该参数为false时,权值维持非归并存储方式,对性能无影响。该参数默认为true。true
--use_origin_format支持设定模型的输入输出和原始模型保持一致的format。 说明: 本参数仅支持基于yolo、inception的业务网络转换设置为true,其它网络转换使用默认值false。false
--dynamic_dims支持同一个原始模型生成能支持不同shape输入档位的Davinci模型,该参数指定可以变化的dim值。和**--input_shape**参数配合使用,在input_shape参数中可以变化的dim使用-1代替。 该参数中每一种可以变化的dims值使用分号分隔(也称为一档),如果一档中有多个维度,每个维度之间使用逗号分隔。举例: - 动态batch --input_shape = "input_name1:-1,c,h,w" --dynamic_dims = "n1;n2;n3" - 动态分辨率 --input_shape = "input_name1:n,-1,-1,c" --dynamic_dims = "h1,w1;h2,w2" 说明: 使用约束:支持可以变化的shape种类最多16种。不涉及
--platform芯片平台,当--target设置为omc时必须设置。不涉及
--target目标模型类型。 - om 硬件无关Davinci模型。 - omc 硬件强相关Davinci模型,仅可在--platform指定的平台部署om

当前只支持下表列出的情况。

  • 非AIPP场景设定输入类型支持情况

    原始模型实际输入离线模型期望输入(开发者设定)针对OMG参数
    FP32FP16--input_type
    FP32FP32--input_type
    FP16FP16--input_type
    UINT8UINT8--input_type
    INT32INT32--input_type
    INT8INT8--input_type
  • AIPP场景设定输入类型支持情况

    原始模型实际输入离线模型期望输入是否有AIPP针对OMG参数
    FP32UINT8--input_type
    FP16UINT8--input_type
    UINT8UINT8--input_type
  • 设定输出类型支持情况

    原始模型离线模型输出针对OMG参数
    FP32UINT8--output_type
    FP16UINT8--output_type
    UINT8UINT8--output_type
    FP16FP16--output_type
    FP32FP32--output_type
    FP32FP16--output_type
    FP16FP32--output_type
    INT8INT8--output_type
    INT32INT32--output_type
    INT64INT64--output_type