onnx.helper¶
|
给定操作集ID列表,确定所需的最低IR版本。 |
从TensorProto获取所有张量类型。 |
|
|
|
|
|
|
|
|
|
|
|
|
将float32值转换为float8,e4m3(作为整数)。 |
|
将float32值转换为float8,e5m2(作为整数)。 |
|
根据值类型创建一个AttributeProto。 |
|
创建一个AttributeProto,用于保存对父函数给定名称和类型的属性的引用。 |
|
|
|
构建一个GraphProto |
|
使用指定的键值对参数创建一个地图。 |
|
创建一个地图 TypeProto。 |
|
构建一个ModelProto |
|
构造一个NodeProto。 |
|
构造一个OperatorSetIdProto。 |
|
构造一个OperatorSetIdProto。 |
|
|
|
使用指定的值参数创建一个Optional。 |
|
创建一个可选的 TypeProto。 |
|
使用指定的值参数创建一个序列。 |
|
创建一个序列 TypeProto。 |
|
构造一个SparseTensorProto |
|
基于数据类型和形状创建一个SparseTensor TypeProto。 |
|
基于数据类型和形状创建一个SparseTensor ValueInfoProto。 |
|
使用指定的参数创建一个TensorProto。 |
|
基于数据类型和形状创建一个Sequence[Tensors] ValueInfoProto。 |
|
根据数据类型和形状创建一个Tensor TypeProto。 |
|
|
|
根据数据类型和形状创建一个ValueInfoProto。 |
|
使用给定的type_proto创建一个ValueInfoProto。 |
|
将numpy的dtype转换为相应的张量类型。 |
|
|
|
|
|
将GraphProto显示为字符串。 |
|
|
|
从上表中创建一个从(opset-domain, opset-version)到ir-version的映射。 |
|
清空任何嵌套的protobuf消息中的doc_string字段 |
|
将float32值的数组转换为4位数据类型,并将每两个连续元素打包到一个字节中。 |
|
将TensorProto的data_type转换为相应的numpy数据类型。 |
将TensorProto的数据类型转换为存储对应的数据类型。 |
|
|
获取给定 TensorProto 的数据类型名称。 |
|
将TensorProto的数据类型转换为相应的字段名称以进行存储。 |
获取器¶
- onnx.helper.get_attribute_value(attr: AttributeProto) Any[source]¶
设置器¶
- onnx.helper.set_metadata_props(proto: ModelProto | GraphProto | FunctionProto | NodeProto | TensorProto | ValueInfoProto, dict_value: dict[str, str]) None[source]¶
打印¶
- onnx.helper.printable_attribute(attr: AttributeProto, subgraphs: bool = False) str | tuple[str, list[GraphProto]][source]¶
- onnx.helper.printable_graph(graph: GraphProto, prefix: str = '') str[source]¶
将GraphProto显示为字符串。
- Parameters:
graph (GraphProto) – 要显示的图
prefix (string) – 每行的前缀
- Returns:
字符串
- onnx.helper.printable_node(node: NodeProto, prefix: str = '', subgraphs: bool = False) str | tuple[str, list[GraphProto]][来源]¶
- onnx.helper.printable_tensor_proto(t: TensorProto) str[source]¶
- onnx.helper.printable_value_info(v: ValueInfoProto) str[source]¶
工具¶
- onnx.helper.find_min_ir_version_for(opsetidlist: Sequence[OperatorSetIdProto], ignore_unknown: bool = False) int[source]¶
给定操作集ID列表,确定所需的最低IR版本。
- Parameters:
opsetidlist – 一个OperatorSetIdProto的序列。
ignore_unknown – 如果为True,忽略未知的域并返回该域的默认最小版本。
- Returns:
所需的最低IR版本(整数)
make函数¶
所有用于创建ONNX图的函数。
- onnx.helper.make_attribute(key: str, value: Any, doc_string: str | None = None, attr_type: int | None = None) AttributeProto[source]¶
根据值类型创建一个AttributeProto。
- onnx.helper.make_attribute_ref(name: str, attr_type: AttributeProto.AttributeType, doc_string: str | None = None) AttributeProto[源代码]¶
创建一个AttributeProto,用于保存对父函数给定名称和类型的属性的引用。
- onnx.helper.make_empty_tensor_value_info(name: str) ValueInfoProto[来源]¶
- onnx.helper.make_function(domain: str, fname: str, inputs: Sequence[str], outputs: Sequence[str], nodes: Sequence[NodeProto], opset_imports: Sequence[OperatorSetIdProto], attributes: Sequence[str] | None = None, attribute_protos: Sequence[AttributeProto] | None = None, doc_string: str | None = None, overload: str | None = None, value_info: Sequence[ValueInfoProto] | None = None) FunctionProto[源代码]¶
- onnx.helper.make_graph(nodes: Sequence[NodeProto], name: str, inputs: Sequence[ValueInfoProto], outputs: Sequence[ValueInfoProto], initializer: Sequence[TensorProto] | None = None, doc_string: str | None = None, value_info: Sequence[ValueInfoProto] | None = None, sparse_initializer: Sequence[SparseTensorProto] | None = None) GraphProto[源代码]¶
构建一个GraphProto
- Parameters:
nodes – NodeProto 的列表
name (string) – 图名称
inputs – ValueInfoProto 的列表
outputs – ValueInfoProto 的列表
initializer – TensorProto 的列表
doc_string (string) – 图形文档
value_info – ValueInfoProto 的列表
sparse_initializer – SparseTensorProto 的列表
- Returns:
GraphProto
- onnx.helper.make_map(name: str, key_type: int, keys: list[Any], values: SequenceProto) MapProto[源代码]¶
使用指定的键值对参数创建一个地图。
转换标准: - 键和值必须具有相同数量的元素 - 键中的每个键必须是相同类型 - 值中的每个值必须是相同类型
- onnx.helper.make_map_type_proto(key_type: int, value_type: TypeProto) TypeProto[源代码]¶
创建一个地图 TypeProto。
- onnx.helper.make_model(graph: GraphProto, **kwargs: Any) ModelProto[源代码]¶
构建一个ModelProto
- Parameters:
graph (GraphProto) – make_graph 返回
**kwargs – 任何要添加到返回实例的属性
- Returns:
模型原型
- onnx.helper.make_node(op_type: str, inputs: Sequence[str], outputs: Sequence[str], name: str | None = None, doc_string: str | None = None, domain: str | None = None, overload: str | None = None, **kwargs: Any) NodeProto[源代码]¶
构造一个NodeProto。
- Parameters:
op_type (string) – 要构造的操作符的名称
inputs (list of string) – 输入名称的列表
输出 (列表 的 字符串) – 输出名称的列表
name (string, 默认 None) – NodeProto 的可选唯一标识符
doc_string (string, default None) – NodeProto的可选文档字符串
domain (string, 默认 None) – NodeProto 的可选域。 如果为 None,我们将使用默认域(即空域)
overload (string, default None) – 可选字段,用于解析对模型本地函数的调用
**kwargs (dict) – 节点的属性。可接受的值在
make_attribute()中有文档说明。
- Returns:
节点原型
- onnx.helper.make_operatorsetid(domain: str, version: int) OperatorSetIdProto[源代码]¶
构造一个OperatorSetIdProto。
- Parameters:
domain (string) – 操作集ID的域名
版本 (整数) – 操作符集ID的版本
- Returns:
OperatorSetIdProto
- onnx.helper.make_opsetid(domain: str, version: int) OperatorSetIdProto[source]¶
构造一个OperatorSetIdProto。
- Parameters:
domain (string) – 操作集ID的域名
版本 (整数) – 操作符集ID的版本
- Returns:
OperatorSetIdProto
- onnx.helper.make_model_gen_version(graph: GraphProto, **kwargs: Any) ModelProto[source]¶
- onnx.helper.make_optional(name: str, elem_type: OptionalProto.DataType, value: google.protobuf.message.Message | None) OptionalProto[source]¶
使用指定的值参数创建一个Optional。
- onnx.helper.make_optional_type_proto(inner_type_proto: TypeProto) TypeProto[源代码]¶
创建一个可选的 TypeProto。
- onnx.helper.make_sequence(name: str, elem_type: SequenceProto.DataType, values: Sequence[Any]) SequenceProto[source]¶
使用指定的值参数创建一个序列。
- onnx.helper.make_sequence_type_proto(inner_type_proto: TypeProto) TypeProto[source]¶
创建一个序列 TypeProto。
- onnx.helper.make_sparse_tensor(values: TensorProto, indices: TensorProto, dims: Sequence[int]) SparseTensorProto[source]¶
构造一个SparseTensorProto
- Parameters:
values (TensorProto) – 值
indices (TensorProto) – 索引
dims – 形状
- Returns:
SparseTensorProto
- onnx.helper.make_sparse_tensor_type_proto(elem_type: int, shape: Sequence[str | int | None] | None, shape_denotation: list[str] | None = None) TypeProto[source]¶
基于数据类型和形状创建一个SparseTensor TypeProto。
- onnx.helper.make_sparse_tensor_value_info(name: str, elem_type: int, shape: Sequence[str | int | None] | None, doc_string: str = '', shape_denotation: list[str] | None = None) ValueInfoProto[来源]¶
基于数据类型和形状创建一个SparseTensor ValueInfoProto。
- onnx.helper.make_tensor(name: str, data_type: int, dims: Sequence[int], vals: Any, raw: bool = False) TensorProto[source]¶
使用指定的参数创建一个TensorProto。如果raw为False,此函数将根据data_type选择相应的proto字段来存储值。如果raw为True,则使用“raw_data”proto字段来存储值,并且在这种情况下,值应为bytes类型。
- onnx.helper.make_tensor_sequence_value_info(name: str, elem_type: int, shape: Sequence[str | int | None] | None, doc_string: str = '', elem_shape_denotation: list[str] | None = None) ValueInfoProto[source]¶
基于数据类型和形状创建一个Sequence[Tensors] ValueInfoProto。
- onnx.helper.make_tensor_type_proto(elem_type: int, shape: Sequence[str | int | None] | None, shape_denotation: list[str] | None = None) TypeProto[source]¶
根据数据类型和形状创建一个Tensor TypeProto。
- onnx.helper.make_training_info(algorithm: GraphProto, algorithm_bindings: list[tuple[str, str]], initialization: GraphProto | None, initialization_bindings: list[tuple[str, str]] | None) TrainingInfoProto[source]¶
类型映射¶
- onnx.helper.get_all_tensor_dtypes() KeysView[int][source]¶
从TensorProto获取所有张量类型。
- Returns:
所有来自 TensorProto 的张量类型
- onnx.helper.np_dtype_to_tensor_dtype(np_dtype: dtype) int[源代码]¶
将numpy的dtype转换为相应的张量类型。它可以在将numpy数组转换为张量时使用。
- Parameters:
np_dtype – numpy的数据类型
- Returns:
TensorsProto的数据类型
- onnx.helper.tensor_dtype_to_field(tensor_dtype: int) str[source]¶
将TensorProto的data_type转换为存储的相应字段名称。它可以在创建张量时使用。
- Parameters:
tensor_dtype – TensorProto的数据类型
- Returns:
字段名称
- onnx.helper.tensor_dtype_to_np_dtype(tensor_dtype: int) dtype[源代码]¶
将TensorProto的data_type转换为相应的numpy dtype。它可以在创建张量时使用。
- Parameters:
tensor_dtype – TensorProto的数据类型
- Returns:
numpy的数据类型
cast¶
- onnx.helper.float32_to_float8e4m3(fval: float, scale: float = 1.0, fn: bool = True, uz: bool = False, saturate: bool = True) int[source]¶
将float32值转换为float8,e4m3(作为整数)。
请参阅8位存储的浮点数以获取技术细节。
- Parameters:
fval – 要转换的浮点数
scale – 缩放,在将 fval 转换为整数之前,先将其除以 scale
fn – 无无限值
uz – 无负零
saturate – 如果为True,任何超出范围的值(包括inf)将变为最大值,否则,它将变为NaN。操作符Cast的完整描述详细说明了这些差异。
- Returns:
转换后的浮点数
- onnx.helper.float32_to_float8e5m2(fval: float, scale: float = 1.0, fn: bool = False, uz: bool = False, saturate: bool = True) int[source]¶
将float32值转换为float8,e5m2(作为整数)。
- Parameters:
fval – 要转换的浮点数
scale – 缩放,在将 fval 转换为类型之前,先将其除以 scale
fn – 无无限值
uz – 无负零
saturate – 如果为True,任何超出范围的值包括inf将变为最大值,否则,它将变为NaN。操作符Cast的描述详细说明了这些差异。
- Returns:
转换后的浮点数