onnx.shape_inference

infer_shapes

onnx.shape_inference.infer_shapes(model: ModelProto | bytes, check_type: bool = False, strict_mode: bool = False, data_prop: bool = False) ModelProto[原始碼]

將形狀推斷套用至提供的 ModelProto。

推斷的形狀會新增至圖形的 value_info 欄位。

如果推斷的值與圖形中已提供的值衝突,表示提供的值無效(或形狀推斷中存在錯誤),且結果未指定。

參數:
  • model – ModelProto。

  • check_type – 檢查輸入和輸出的類型相等性。

  • strict_mode – 更嚴格的形狀推斷,如果有任何錯誤會拋出錯誤;否則,如果有任何錯誤則會直接停止。

  • data_prop – 啟用有限運算子的資料傳播以執行形狀計算。

傳回:

(ModelProto) 具有推斷的形狀資訊的模型

infer_shapes_path

onnx.shape_inference.infer_shapes_path(model_path: str | PathLike, output_path: str | PathLike = '', check_type: bool = False, strict_mode: bool = False, data_prop: bool = False) None[原始碼]

採用模型路徑進行形狀推斷。

此函數與 infer_shape() 相同,但支援大於 2GB 的模型。此函數將推斷的模型輸出至 output_path。如果未指定,則會使用原始模型路徑。

infer_node_outputs

onnx.shape_inference.infer_node_outputs(schema: OpSchema, node: NodeProto, input_types: dict[str, TypeProto], input_data: dict[str, TensorProto] | None = None, input_sparse_data: dict[str, SparseTensorProto] | None = None, opset_imports: list[OperatorSetIdProto] | None = None, ir_version: int = 11) dict[str, TypeProto][原始碼]

infer_function_output_types

onnx.shape_inference.infer_function_output_types(function: FunctionProto, input_types: Sequence[TypeProto], attributes: Sequence[AttributeProto]) list[TypeProto][原始碼]

將類型和形狀推斷應用於給定的函數主體,並使用給定的輸入類型和輸入屬性值。