onnx.shape_inference¶
推断形状¶
- onnx.shape_inference.infer_shapes(model: ModelProto | bytes, check_type: bool = False, strict_mode: bool = False, data_prop: bool = False) ModelProto[源代码]¶
对提供的ModelProto应用形状推断。
推断的形状被添加到图的值信息字段中。
如果推断的值与图中已提供的值冲突,这意味着提供的值是无效的(或者形状推断中存在错误),结果将是不确定的。
- Parameters:
model – ModelProto。
check_type – 检查输入和输出的类型是否相等。
strict_mode – 更严格的形状推断,如果有任何错误,它将抛出错误;否则,如果有任何错误,则简单地停止。
data_prop – 启用数据传播以允许有限的操作符执行形状计算。
- Returns:
(ModelProto) 带有推断形状信息的模型
infer_shapes_path¶
推断节点输出¶
- 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][source]¶
推断函数输出类型¶
- onnx.shape_inference.infer_function_output_types(function: FunctionProto, input_types: Sequence[TypeProto], attributes: Sequence[AttributeProto]) list[TypeProto][source]¶
将类型和形状推断应用于给定的函数体,使用给定的输入类型和给定的输入属性值。