加载器
模块:polygraphy.tools.args
- class OnnxInferShapesArgs(default: bool | None = None, allow_force_fallback: bool | None = None)[source]
基类:
BaseArgs
ONNX 形状推断:ONNX 形状推断。
依赖于
OnnxLoadArgs
DataLoaderArgs:如果 allow_force_fallback == True
- 参数:
default (bool) – 是否默认启用形状推断。默认为 False。
allow_force_fallback (bool) – 是否允许使用 ONNX-Runtime 进行回退形状推断。默认为 False。
- parse_impl(args)[source]
解析命令行参数并填充以下属性
- do_shape_inference
是否执行形状推断。
- 类型:
bool
- force_fallback
是否强制回退形状推断。
- 类型:
bool
- allow_onnxruntime
是否允许使用 ONNX-Runtime 的形状推断实用程序。
- 类型:
bool
- add_to_script_impl(script, loader_name)[source]
请注意,此方法不考虑回退形状推断。为了支持回退形状推断,工具必须手动调用 fallback_inference()。
- 参数:
loader_name (str) – 加载器的名称,该加载器应由
InferShapes
加载器使用。- 返回:
添加到脚本的
InferShapes
加载器的名称。- 返回类型:
str
- infer_shapes(model, force=None)[source]
如果根据命令行提供的参数,do_shape_inference 为 True,则在 ONNX 模型上运行形状推断。
- 参数:
model (onnx.ModelProto) – 要在其中推断形状的模型。
force (bool) – 即使 do_shape_inference 为 False,也强制运行形状推断。默认为 False。
- 返回:
推断形状的模型。
- 返回类型:
onnx.ModelProto
- class OnnxSaveArgs(allow_shape_inference: bool | None = None, output_opt: str | None = None, output_short_opt: str | None = None, output_opt_required: bool | None = None, output_default_path: str | None = None, allow_multiple_models: bool | None = None)[source]
基类:
BaseArgs
ONNX 模型保存:保存 ONNX 模型。
依赖于
OnnxInferShapesArgs:如果 allow_shape_inference == True
- 参数:
allow_shape_inference (bool) – 保存模型时是否允许形状推断。默认为 False。
output_opt (str) – 输出路径选项的名称。默认为 “output”。使用
False
值禁用该选项。output_short_opt (str) – 用于输出路径的短选项。默认为 “-o”。使用
False
值禁用短选项。output_opt_required (bool) – 输出路径是否为必需参数。默认为 False。
output_default_path (str) – 用于输出路径选项的默认值。默认为 None。
allow_multiple_models (bool) – 是否启用保存多个模型的支持。如果为 True,则输出路径应为目录。默认为 False。
- parse_impl(args)[source]
解析命令行参数并填充以下属性
- path
保存 ONNX 模型的路径。
- 类型:
str
- external_data_path
保存外部数据的路径。
- 类型:
str
- size_threshold
保存外部数据的大小阈值。
- 类型:
int
- all_tensors_to_one_file
是否应将所有外部数据写入单个文件。
- 类型:
bool
- class OnnxLoadArgs(allow_saving: bool | None = None, outputs_opt_prefix: str | None = None, allow_shape_inference: bool | None = None, allow_from_tf: bool | None = None, allow_setting_upper_bounds: bool | None = None)[source]
基类:
BaseArgs
ONNX 模型加载:加载 ONNX 模型。
依赖于
ModelArgs
OnnxInferShapesArgs:如果 allow_shape_inference == True
OnnxSaveArgs:如果 allow_saving == True
OnnxFromTfArgs:如果 allow_from_tf == True
- 参数:
allow_saving (bool) – 是否允许保存加载的模型。默认为 False。
outputs_opt_prefix (str) – 输出选项的前缀,该选项控制哪些张量标记为输出。默认为 “onnx-“。使用
False
值禁用该选项。allow_shape_inference (bool) – 加载模型时是否允许形状推断。默认为 True。
allow_from_tf (bool) – 是否允许将 TensorFlow 模型转换为 ONNX。默认为 False。
allow_setting_upper_bounds (bool) – 是否允许为无界 DDS 设置上界。默认为 False。
- parse_impl(args)[source]
解析命令行参数并填充以下属性
- outputs
输出张量的名称。
- 类型:
List[str]
- exclude_outputs
应取消标记为输出的张量的名称。
- 类型:
List[str]
- external_data_dir
从中加载外部数据的目录的路径。
- 类型:
str
- ignore_external_data
是否忽略加载外部数据。
- 类型:
bool
- convert_to_fp16
是否将模型转换为 FP16。
- 类型:
bool
- upper_bounds
具有无界 DDS 的张量的上界。
- 类型:
Union[int, Dict[str, int]]
- add_to_script_impl(script, disable_custom_outputs: bool | None = None, serialize_model: bool | None = None)[source]
- 参数:
disable_custom_outputs (bool) – 是否禁止根据 outputs 和 exclude_outputs 属性修改输出。默认为 False。
serialize_model (bool) – 是否序列化模型。默认为 False。
- 返回:
添加到脚本中的 ONNX 加载器的名称。
- 返回类型:
str