目录

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的版本,当前支持:v300|v310|IR。 否 IR
--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_conf AIPP配置文件路径。详情参见模型转换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

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