骁龙神经处理引擎SDK参考指南(32)

281 篇文章 30 订阅
17 篇文章 8 订阅
文章介绍了用于转换模型到SNPEDLC文件的三个工具:snpe-tensorflow-to-dlc、snpe-tflite-to-dlc和snpe-onnx-to-dlc,详细阐述了各工具的参数和用法,包括输入网络、输出节点、数据类型、量化选项等关键转换步骤。
摘要由CSDN通过智能技术生成

骁龙神经处理引擎SDK参考指南(32)


8 工具

snpe-tensorflow-to-dlc

snpe-tensorflow-to-dlc 将 TensorFlow 模型转换为 SNPE DLC 文件。

  用法: snpe-tensorflow-to-dlc -d INPUT_NAME INPUT_DIM --out_node OUT_NAMES 
                                [--input_type INPUT_NAME INPUT_TYPE] 
                                [--input_dtype INPUT_NAME INPUT_DTYPE] 
                                [--input_encoding INPUT_NAME INPUT_ENCODING] 
                                [--debug [DEBUG]] 
                                [--input_layout INPUT_NAME INPUT_LAYOUT] 
                                [--udo_config_paths UDO_CONFIG_PATHS [UDO_CONFIG_PATHS ...]] 
                                [--show_unconsumed_nodes] 
                                [--saved_model_tag SAVED_MODEL_TAG] 
                                [--saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY]
                                [--disable_batchnorm_folding] 
                                [--quantization_overrides QUANTIZATION_OVERRIDES] 
                                [--keep_quant_nodes] 
                                [--keep_disconnected_nodes] 
                                --input_network INPUT_NETWORK [-h] 
                                [-o OUTPUT_PATH] 
                                [--copyright_file COPYRIGHT_FILE] 
                                [--model_version MODEL_VERSION] 
                                [--valid目标RUNTIME_TARGET PROCESSOR_TARGET] 
                                [--strict] 
                                [--udo_config_paths CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...]]
  
  将张量流模型转换为 DLC 文件的脚本。
  
  可选参数:
    -h、--help 显示此帮助消息并退出
  
  必需参数:
    -d INPUT_NAME INPUT_DIM、--input_dim INPUT_NAME INPUT_DIM
                          以格式 [input_name comma-separated- 
                          dimensions]指定
                          的网络输入层的名称和尺寸,例如: 'data' 1,224,224,3 请注意,
                          应始终包含引号,以便
                          处理特殊字符、空格等。对于多个
                          输入,请在命令上指定多个 --input_dim
                          行如下: --input_dim 'data1' 1,224,224,3 --input_dim 
                          'data2' 1,50,100,3 
    --out_node OUT_NODE 图形输出节点的名称。
                          应单独提供多个输出节点,例如: --out_node 
                          out_1 --out_node out_2 
    --input_network INPUT_NETWORK, -i INPUT_NETWORK
                          源框架模型的路径。
  
  可选参数:
    --input_type INPUT_NAME INPUT_TYPE,-t INPUT_NAME INPUT_TYPE
                          每个输入操作/层期望的数据类型。每个输入的类型
                          为 |default| 如果没有指定。例如:
                          “数据”图像。请注意,应始终包含引号
                          ,以便处理特殊字符、
                          空格等。对于多个输入,请
                          在命令行上指定多个 --input_type。例如: --input_type 
                          "data1" image --input_type "data2" opaque 这些
                          选项由 DSP 运行时使用,以下
                          描述说明了如何处理每个
                          选项的输入。图片:输入是 0-255 之间的浮点数,
                          输入的平均值为 0.0f,输入的最大值为 255.0f。我们
                          将把浮点数转换为 uint8ts 并将 uint8ts 传递给
                          DSP。默认:将输入作为浮点数
                          直接传递给 DSP,DSP 将对其进行量化。不透明:假设
                          输入是浮点型,因为消费者层(即下
                          一层)需要它作为浮点型,因此它不会被
                          量化。支持的选项: image default opaque 
    --input_dtype INPUT_NAME INPUT_DTYPE
                          以 [input_name datatype] 格式指定的
                          网络输入层的名称和数据类型,
                          例如:'data' 'float32'。如果没有则默认为 float32
                          指定的。请注意,应始终包含引号,
                          以便处理特殊字符、空格
                          等。对于多个输入,请
                          在命令行上指定多个 --input_dtype,例如: --input_dtype 
                          'data1' 'float32' --input_dtype 'data2' 'float32 ' 
    --input_encoding INPUT_NAME INPUT_ENCODING, -e INPUT_NAME INPUT_ENCODING
                          源图像的图像编码。默认为 bgr。
                          例如用法:“data”rgba 请注意,应始终包含引号
                          以处理特殊字符,
                          空格等。对于多个输入,请
                          在命令行上为每个输入指定 --input_encoding。例如:
                          --input_encoding "data1" rgba --input_encoding "data2" 
                          other 使用选项:颜色编码(bgr,rgb, nv21...)
                          如果输入是图像;time_series:用于 rnn
                          模型的输入;其他:如果输入不符合上述
                          类别或未知。支持的选项: bgr rgb 
                          rgba argb32 nv21 time_series other 
    --debug [DEBUG] 在调试模式下运行转换器。
    --input_layout INPUT_NAME INPUT_LAYOUT, -l INPUT_NAME INPUT_LAYOUT
                          每个输入张量的布局。如果未指定,它将使用
                          基于源框架、输入形状和输入编码的默认值。
                          接受的值为 - 
                            NCDHW、NDHWC、NCHW、NHWC、NFC、NCF、NTF、TNF、NF、NC、F、NONTRIVIAL N =
                          批次、C = 通道、D = 深度、H = 高度、W = 宽度、F = 特征, T = 时间
                          NDHWC/NCDHW 用于 5d 输入
                          NHWC/NCHW 用于 4d 类图像输入
                          NFC/NCF 用于 Conv1D 或其他 1D 运算的输入
                          NTF/TNF 用于具有时间步长的输入,如用于 LSTM 运算的输入
                          NF 用于 2D 输入,如密集/完全连接层的输入
                          NC 用于 2D 输入,其中 1 表示批量,其他表示通道(很少使用)
                          F 用于 1D 输入,例如偏置张量
                          NONTRIVIAL 用于其他所有内容对于多个输入指定多个
                          --命令行上的 input_layout。
                          例如:
                             --input_layout "data1" NCHW --input_layout "data2" NCHW 
    --udo_config_paths UDO_CONFIG_PATHS [UDO_CONFIG_PATHS ...], -udo UDO_CONFIG_PATHS [UDO_CONFIG_PATHS ...] 
                          UDO 配置的路径(如果有多个,则以空格分隔)
    --show_unconsumed_nodes
                          显示未使用的节点列表(如果找到)
                          。未使用的节点不会违反
                          生成图的结构保真度。
    --saved_model_tag SAVED_MODEL_TAG
                          指定从保存的模型中选择 MetaGraph 的标签
                          。例如:--saved_model_tag 服务。
                          未分配时默认值为“serve”。
    --saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY
                          指定签名密钥以选择
                          模型的输入和输出。例如:--saved_model_signature_key
                          服务默认。
                          当未分配时,默认值为“serving_default” 
    --disable_batchnorm_folding
                          如果未指定,转换器将尝试将batchnorm折叠到上一层。
    --keep_disconnected_nodes
                          禁用删除未连接到主图的操作的优化。
                          此优化使用通过命令行提供的输出名称或
                          从源模型提取的输入/输出来确定主图
    -h, --help 显示此帮助消息并退出
    -o OUTPUT_PATH, --output_path OUTPUT_PATH
                          转换后的输出模型的
                          保存路径。如果未指定,转换器模型将
                          写入与输入模型同名的文件
    --copyright_file COPYRIGHT_FILE
                          版权文件的路径。
                          如果提供,文件的内容将被添加到输出模型中。
    --model_version MODEL_VERSION
                          用户定义的 ASCII 字符串来标识模型,仅
                          存储前 64 个字节
    --validation_target RUNTIME_TARGET PROCESSOR_TARGET
                          处理器和运行时目标的组合
                          将验证哪个模型。RUNTIME_TARGET的选择
                          :{cpu、gpu、dsp}。PROCESSOR_TARGET的选择
                          :{snapdragon_801、snapdragon_820、
                          snapdragon_835}。如果未指定,将
                          在所有
                          运行时目标上针对 {snapdragon_820, snapdragon_835} 验证模型。
    --strict 如果指定,将以严格模式进行验证,如果模型违反
                          指定验证目标的
                          约束,则不会生成模型。如果未指定,
                          将根据许可模式验证模型
                          指定的验证目标。
    --udo_config_paths CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...], -udo CUSTOM_OP_CONFIG_PATHS 
                          [CUSTOM_OP_CONFIG_PATHS ...] 
                          UDO 配置的路径(如果有多个,则以空格分隔)
  
  量化器选项:
    --quantization_overrides QUANTIZATION_OVERRIDES
                          使用此选项指定一个带有参数的 json
                          文件用于量化。这些将覆盖
                          转换中携带的任何量化数据(例如 TF 伪
                          量化)或在正常情况下计算的量化数据。
                          量化过程。根据 AIMET 规范定义的格式
                          。
    --keep_quant_nodes 使用此选项可在图中保留激活量化节点而不是
                          剥离它们。

使用此脚本的示例可以在将模型从 TensorFlow 转换为 SNPE 中找到。

额外细节:

  • 输入网络参数:
    - 该转换器支持单个冻结图形 .pb 文件、一对图形元和检查点文件的路径或 SavedModel 目录 (TF 2.x) 的路径。
    - 如果您在训练期间使用TensorFlow Saver保存图表,将生成 3 个文件,如下所述:
    1. model-name.meta
    2. model-name
    3. checkpoint
    - 转换器 --input_network 选项指定图形元文件的路径。转换器还将在转换期间使用检查点文件读取图形节点参数。检查点文件必须具有相同的名称,且不带 .meta 后缀。
    - 这个参数是必需的。
  • input_dim 参数:
    - 指定图形输入节点的输入维度
    - 转换器需要节点名称和维度作为输入,它将使用节点输出张量维度创建输入层。定义图表时,通常会有一个占位符名称用作图表训练期间的输入。占位符张量名称是必须用作参数的名称。也可以使用其他类型的节点作为输入,但是用作输入的节点不会用作输入层以外的层的一部分。
    - 多输入
    - 具有多个输入的网络必须提供 – input_dim INPUT_NAME INPUT_DIM,每个输入节点一个。
    - 这个参数是必需的。
  • out_node 参数:
    - TensorFlow 图中最后一个节点的名称,它将代表网络的输出层。
    - 多个输出
    - 具有多个输出的网络必须提供多个 – out_node参数,每个输出节点一个。
  • 输出路径参数:
    - 指定输出 DLC 文件名。
    - 该参数是可选的。如果未提供,转换器将创建一个与图形文件名同名的 DLC 文件,文件扩展名为 .dlc。
  • SavedModel 是 TensorFlow 2 中的默认模型格式,现在可以在 SNPE TensorFlow Converter 中支持。

Snpe-tflite-to-dlc

snpe-tflite-to-dlc 将 TFLite 模型转换为 SNPE DLC 文件。

  用法: snpe-tflite-to-dlc -d INPUT_NAME INPUT_DIM 
                            [--input_dtype INPUT_NAME INPUT_DTYPE] 
                            [--out_node OUT_NODE] 
                            [--input_type INPUT_NAME INPUT_TYPE] 
                            [--input_dtype INPUT_NAME INPUT_DTYPE] 
                            [--input_encoding INPUT_NAME INPUT_ENCODING] 
                            [--调试 [DEBUG]] 
                            [--input_layout INPUT_NAME INPUT_LAYOUT] 
                            [--udo_config_paths UDO_CONFIG_PATHS [UDO_CONFIG_PATHS ...]] 
                            [--dump_relay DUMP_RELAY] 
                            [--disable_batchnorm_folding]
                            [--quantization_overrides QUANTIZATION_OVERRIDES] 
                            [--keep_quant_nodes] 
                            [--keep_disconnected_nodes] 
                            --input_network INPUT_NETWORK [-h] [-o OUTPUT_PATH] 
                            [--copyright_file COPYRIGHT_FILE] 
                            [--model_version MODEL_VERSION] 
                            [--validation_target RUNTIME_TARGET PROCESSOR _目标] 
                            [- -strict] 
                            [--udo_config_paths CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...]]
  
  将 TFLite 模型转换为 DLC
  
  所需参数的脚本:
    -d INPUT_NAME INPUT_DIM, --input_dim INPUT_NAME INPUT_DIM
                          以 [input_name 逗号分隔维度] 格式指定的
                          网络输入层的名称和维度
                          ,例如: 'data' 1,224,224,3 请注意,
                          引号应始终包含在为了
                          处理特殊字符、空格等。对于多个
                          输入,在命令
                          行上指定多个 --input_dim,例如: --input_dim 'data1' 1,224,224,3 --input_dim 
                          'data2' 1,50,100,3 
    --input_network INPUT_NETWORK, -i输入网络
                          源框架模型的路径。
  
  可选参数:
    --input_dtype INPUT_NAME INPUT_DTYPE
                          以 [input_name datatype] 格式指定的
                          网络输入层的名称和数据类型,
                          例如:'data' 'float32'。如果未指定,则默认为 float32 
                          。请注意,应始终包含引号,
                          以便处理特殊字符、空格
                          等。对于多个输入,请
                          在命令行上指定多个 --input_dtype,例如:
    --out_node OUT_NODE 图的输出节点的名称。
                          应单独提供多个输出节点,例如: --out_node 
                          out_1 --out_node out_2 
    --input_type INPUT_NAME INPUT_TYPE, -t INPUT_NAME INPUT_TYPE
                          每个输入操作/层期望的数据类型。每个输入的类型
                          为 |default| 如果没有指定。例如:
                          “data”图像。请注意,应始终包含引号,
                          以便处理特殊字符、
                          空格等。对于多个输入,请
                          在命令行上指定多个 --input_type。例如:--input_type
                          "data1" image --input_type "data2" opaque 这些
                          选项由 DSP 运行时使用,以下
                          描述说明了如何处理每个
                          选项的输入。图片:输入是 0-255 之间的浮点数,
                          输入的平均值为 0.0f,输入的最大值为 255.0f。我们
                          将浮点数转换为 uint8ts 并将 uint8ts 传递给
                          DSP。默认:将输入作为浮点数
                          直接传递给 DSP,DSP 将对其进行量化。不透明:假设
                          输入是浮动的,因为消费者层(即下一个
                          层)要求它为浮点数,因此它不会被
                          量化。支持的选项:图像默认不透明
    --input_encoding INPUT_NAME INPUT_ENCODING、-e INPUT_NAME INPUT_ENCODING
                          源图像的图像编码。默认为 bgr。
                          例如用法:“data”rgba 请注意,应始终包含引号,
                          以便处理特殊字符、空格等。对于多个输入
                          ,请在命令行上为每个输入
                          指定--input_encoding。例如:
                          --input_encoding "data1" rgba --input_encoding "data2"
                          其他使用选项:如果输入是图像,则
                          颜色编码(bgr,rgb,nv21 ...) ;time_series:用于 rnn
                          模型的输入;其他:如果输入不符合上述
                          类别或未知。支持的选项: bgr rgb 
                          rgba argb32 nv21 time_series other 
    --debug [DEBUG] 在调试模式下运行转换器。
    --input_layout INPUT_NAME INPUT_LAYOUT, -l INPUT_NAME INPUT_LAYOUT
                          每个输入张量的布局。如果未指定,它将使用
                          基于源框架、输入形状和输入编码的默认值。
                          接受的值为-
                            NCDHW、NDHWC、NCHW、NHWC、NFC、NCF、NTF、TNF、NF、NC、F、非平凡
                          N = 批次、C = 通道、D = 深度、H = 高度、W = 宽度、F = 特征、T = 时间
                          NDHWC/NCDHW 用于 5d 输入
                          NHWC/NCHW 用于 4d 类图像输入
                          NFC/NCF 用于 Conv1D 或其他 1D 运算的输入
                          NTF/TNF 用于具有时间步长的输入,如用于 LSTM 运算的输入
                          NF 用于 2D 输入,就像
                          用于 2D 输入的 Dense/FullyConnected 层 NC 的输入一样,其中 1 表示批量,其他表示通道(很少使用)
                          F 用于一维输入,例如偏置张量
                          非平凡的其他一切对于多个输入
                          在命令行上指定多个 --input_layout 。
                          例如:
                             --input_layout "data1" NCHW --input_layout "data2" NCHW 
    --udo_config_paths UDO_CONFIG_PATHS [UDO_CONFIG_PATHS ...], -udo UDO_CONFIG_PATHS [UDO_CONFIG_PATHS ...] 
                          UDO 配置的路径(如果有多个,则以空格分隔)
    -- dump_relay DUMP_RELAY
                          在随参数提供的路径中转储中继 ASM 和
                          参数用法:
                          如果未指定,转换器将尝试将批量归一化到上一层。
    --keep_disconnected_nodes
                          禁用删除未连接到主图的操作的优化。
                          此优化使用通过命令行提供的输出名称或
                          从源模型提取的输入/输出来确定主图
    -h, --help 显示此帮助消息并退出
    -o OUTPUT_PATH, --output_path OUTPUT_PATH
                          转换后的输出模型应位于的路径
                          保存。如果未指定,则转换器模型将被保存
                          写入与输入模型同名的文件
    --copyright_file COPYRIGHT_FILE
                          版权文件的路径。
                          如果提供,文件的内容将被添加到输出模型中。
    --model_version MODEL_VERSION
                          用于标识模型的用户定义的 ASCII 字符串,仅存储
                          前 64 个字节
    --validation_target RUNTIME_TARGET PROCESSOR_TARGET将
                          验证模型所
                          针对的处理器和运行时目标的组合。RUNTIME_TARGET的选择
                          :{cpu、gpu、dsp}。的选择
                          PROCESSOR_TARGET:{snapdragon_801、snapdragon_820、
                          snapdragon_835}。如果未指定,将
                          在所有
                          运行时目标上针对 {snapdragon_820, snapdragon_835} 验证模型。
    --strict 如果指定,将以严格模式进行验证,如果模型违反
                          指定验证目标的
                          约束,则不会生成模型。如果未指定,
                          将根据指定的验证目标在宽容模式下验证模型
                          。
    --udo_config_paths CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...], -udo CUSTOM_OP_CONFIG_PATHS 
                          [CUSTOM_OP_CONFIG_PATHS ...] 
                          UDO 配置的路径(如果有多个,则以空格分隔)
  
  量化器选项:
    --quantization_overrides QUANTIZATION_OVERRIDES
                          使用此选项指定一个带有参数的 json
                          文件用于量化。这些将覆盖
                          转换过程中携带的任何量化数据(例如 TF 伪
                          量化)或在正常
                          量化过程中计算的量化数据。根据 AIMET 规范定义的格式
                          。
    --keep_quant_nodes 使用此选项可在图中保留激活量化节点而不是
                          剥离它们。

使用此脚本的示例可以在将模型从 TFLite 转换为 SNPE 中找到。

额外细节:

  • 输入网络参数:
    - 该转换器支持单个 .tflite 文件。
    - 转换器 --input_network 选项指定 .tflite 文件的路径。
    - 这个参数是必需的。
  • input_dim 参数:
    - 指定图形输入节点的输入维度
    - 转换器需要节点名称和维度作为输入,它将使用节点输出张量维度创建输入层。定义图表时,通常会有一个占位符名称用作图表训练期间的输入。占位符张量名称是必须用作参数的名称。也可以使用其他类型的节点作为输入,但是用作输入的节点不会用作输入层以外的层的一部分。
    - 多输入
    - 具有多个输入的网络必须提供 – input_dim INPUT_NAME INPUT_DIM,每个输入节点一个。
    - 这个参数是必需的。
  • 输出路径参数:
    - 指定输出 DLC 文件名。
    - 该参数是可选的。如果未提供,转换器将创建一个与 tflite 文件名相同的 DLC 文件,文件扩展名为 .dlc。
  • 保存的模型标签:
    - 对于 Tensorflow 2.x 网络,此选项允许从 input_network 指定的 SavedModel 中选择 MetaGraph。
    - 该参数是可选的,如果未设置,则默认为“serve”。
  • 保存的模型签名:
    - 对于 Tensorflow 2.x 网络,此选项指定用于选择 Tensorflow 2.x SavedModel 的输入和输出的签名密钥。
    - 该参数是可选的,如果未指定,则默认为“serving_default”。

snpe-onnx-to-dlc

snpe-onnx-to-dlc 将序列化的 ONNX 模型转换为 SNPE DLC 文件。

        用法: snpe-onnx-to-dlc [-h] [--input_network INPUT_NETWORK] [-o OUTPUT_PATH] 
                                [--copyright_file COPYRIGHT_FILE] 
                                [--model_version MODEL_VERSION] 
                                [--disable_batchnorm_folding] 
                                [--input_type INPUT_NAME INPUT_TYPE] 
                                [- -input_dtype INPUT_NAME INPUT_DTYPE] 
                                [--input_encoding INPUT_NAME INPUT_ENCODING] 
                                [--input_layout INPUT_NAME INPUT_LAYOUT] 
                                [-n, --no_simplification] 
                                [--disable_batchnorm_folding] 
                                [--keep_disconnected_nodes]
                                [--validation_target RUNTIME_TARGET PROCESSOR_TARGET] 
                                [--strict] [--debug [DEBUG]] 
                                [--dry_run [DRY_RUN]] 
                                [--udo_config_paths CUSTOM_OP_CONFIG_PATHS [CUSTOM_OP_CONFIG_PATHS ...]]
        
        将 onnxmodel 转换为 DLC 文件的脚本。
        
        可选参数:
          -h、--help 显示此帮助消息并退出
        
        必需参数:
          --input_network INPUT_NETWORK、-i INPUT_NETWORK
                                源框架模型的路径。
        
        可选参数:
          -o OUTPUT_PATH, --output_path OUTPUT_PATH
                                转换后的输出模型应位于的路径
                                如果未指定,转换器模型将
                                写入与输入模型同名的文件
          --copyright_file COPYRIGHT_FILE
                                版权文件的路径。
                                如果提供,文件的内容将被添加到输出模型中。
          --model_version MODEL_VERSION
                                用户定义的 ASCII 字符串来标识模型,仅
                                存储前 64 个字节
          -n, --no_simplification
                                不要尝试自动简化模型。这可能会阻止某些
                                模型正确转换
                                当存在不支持的静态操作序列时。
          --disable_batchnorm_folding
                                如果未指定,转换器将尝试将batchnorm折叠
                                到先前的卷积层中
          --keep_disconnected_nodes
                                禁用删除未连接到主图的操作的优化。
                                此优化使用通过命令行提供的输出名称或
                                从源模型提取的输入/输出来确定主图
          --input_type INPUT_NAME INPUT_TYPE, -t INPUT_NAME INPUT_TYPE
                                每个输入操作/层期望的数据类型。键入:
                                每个输入都是|默认| 如果没有指定。例如:
                                “data”图像。请注意,应始终包含引号,
                                以便处理特殊字符、
                                空格等。对于多个输入,请
                                在命令行上指定多个 --input_type。例如: --input_type 
                                "data1" image --input_type "data2" opaque 这些
                                选项由 DSP 运行时使用,以下
                                描述说明了如何处理每个
                                选项的输入。图片:输入是0-255之间的浮点值
                                输入的平均值为 0.0f,输入的最大值为 255.0f。我们
                                将浮点数转换为 uint8ts 并将 uint8ts 传递给
                                DSP。默认:将输入作为浮点数直接传递给 DSP 
                                ,DSP 将对其进行量化。不透明:假设
                                输入是浮点型,因为消费者层(即下
                                一层)要求它作为浮点型,因此不会被
                                量化。支持的选项:['image', 'default', 
                                'opaque'] 
          --input_dtype INPUT_NAME 
                                INPUT_DTYPE网络输入层的名称和数据类型
                                以 [input_name datatype] 格式指定,例如
                                :'data' 'float32'。如果未指定,则默认为 float32 
                                。请注意,应始终包含引号,
                                以便处理特殊字符、空格
                                等。对于多个输入,请
                                在命令行上指定多个 --input_dtype,例如: --input_dtype 
                                'data1' 'float32' --input_dtype 'data2' 'float32 ' 
          --input_encoding INPUT_NAME INPUT_ENCODING, -e INPUT_NAME INPUT_ENCODING
                                源图像的图像编码。默认为 bgr。
                                例如用法:“data”rgba 请注意,应始终包含引号,
                                以便处理特殊字符、空格等。对于多个输入
                                ,请在命令行上为每个输入
                                指定--input_encoding。例如:
                                --input_encoding "data1" rgba --input_encoding "data2"
                                其他。使用选项:颜色编码(bgr,rgb,nv21 ...)
                                如果输入是图像;time_series:用于 rnn
                                模型的输入;其他:如果输入不符合上述
                                类别或未知。支持的选项:['bgr',
                                'rgb', 'rgba', 'argb32', 'nv21', 'time_series', 
                                'other'] 
          --input_layout INPUT_NAME INPUT_LAYOUT, -l INPUT_NAME INPUT_LAYOUT
                                每个输入张量的布局。如果未指定,它将使用
                                基于源框架、输入形状和输入编码的默认值。
                                接受的值为 - 
                                  NCDHW、NDHWC、NCHW、NHWC、NFC、NCF、NTF、TNF、NF、NC、F、NONTRIVIAL N =
                                批次、C = 通道、D = 深度、H = 高度、W = 宽度、F = 特征,
                                NFC/NCF 用于 Conv1D 或其他 1D 运算的输入
                                NTF/TNF 用于具有时间步长的输入,例如用于 LSTM 运算的
                                输入 NF 用于 2D 输入,例如密集/完全连接层的输入
                                NC 用于 2D 输入,其中 1 表示Batch 和 other 用于通道(很少使用)
                                F 用于 1D 输入,例如,偏置张量
                                NONTRIVIAL 用于其他所有内容对于多个输入,请
                                在命令行上指定多个 --input_layout。
                                例如:
                                   --input_layout“data1”NCHW --input_layout“data2”NCHW
          --validation_target RUNTIME_TARGET PROCESSOR_TARGET
                                将验证模型的
                                处理器和运行时目标的组合。RUNTIME_TARGET的选择
                                :{cpu、gpu、dsp}。PROCESSOR_TARGET的选择
                                :{snapdragon_801、snapdragon_820、 snapdragon_835}。如果未指定,将
                                在所有
                                运行时目标上针对 {snapdragon_820、snapdragon_835}
                                验证模型。
          --strict 如果指定,将以严格模式进行验证,如果
                                模型违反约束,则不会生成模型
                                指定的验证目标。如果未指定,
                                将根据指定的验证目标在宽容模式下验证模型
                                。
          --debug [DEBUG] 在调试模式下运行转换器。
          --dry_run [DRY_RUN] 评估模型而不实际转换任何
                                操作,并返回不支持的操作/属性以及
                                未使用的输入和/或输出(如果有)。留空或
                                指定“info”以将试运行视为表格,或指定
                                “debug”以仅显示更详细的消息” 
          --udo_config_paths UDO_CONFIG_PATHS [UDO_CONFIG_PATHS ...],
                                [UDO_CONFIG_PATHS ...] 
                                  UDO 配置的路径(如果有多个,则以空格分隔)
        
        量化器选项:
          --quantization_overrides QUANTIZATION_OVERRIDES
                                使用此选项指定带有
                                用于量化的参数的 json 文件。这些将覆盖
                                转换过程中携带的任何量化数据(例如 TF 伪
                                量化)或在正常
                                量化过程中计算的量化数据。根据 AIMET 规范定义的格式
                                。
          --keep_quant_nodes 使用此选项可以在图中保留激活量化节点
                                而不是剥离它们。

有关更多信息,请参阅ONNX 模型转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值