onnx.compose¶
|
将两个 ONNX 图合并为一个。 |
|
将两个 ONNX 模型合并为一个。 |
merge_graphs¶
- onnx.compose.merge_graphs(g1: GraphProto, g2: GraphProto, io_map: 列表[对[字符串, 字符串]], inputs: 列表[字符串] | None = None, outputs: 列表[字符串] | None = None, prefix1: 字符串 | None = None, prefix2: 字符串 | None = None, name: 字符串 | None = None, doc_string: 字符串 | None = None) GraphProto [source]¶
将两个 ONNX 图合并为一个。
合并后的图通过连接指定的输出/输入集来定义。未在 io_map 参数中指定的输入/输出将保留为合并后的图的输入/输出。
- 参数:
g1 (GraphProto) – 第一个图
g2 (GraphProto) – 第二个图
io_map (list of pairs of string) – 名称对 [(out0, in0), (out1, in1), …],表示第一个图的输出和第二个图要连接的输入
inputs (list of string) – 可选的列表,指定要包含在合并后的图中的输入。默认情况下,io_map 参数中未包含的所有输入都将包含在合并后的模型中。
outputs (list of string) – 可选的列表,指定要包含在合并后的图中的输出。默认情况下,io_map 参数中未包含的所有输出都将包含在合并后的模型中。
prefix1 (string) – 可选前缀,添加到 g1 中的所有名称
prefix2 (string) – 可选前缀,添加到 g2 中的所有名称
name (string) – 可选的合并后的图的名称。默认情况下,名称是 g1.name 和 g2.name 用下划线分隔符连接而成。
doc_string (string) – 可选的合并后的图的文档字符串。如果未提供,则使用 g1 和 g2 文档字符串连接而成的默认文档字符串。
- 返回:
GraphProto
merge_models¶
- onnx.compose.merge_models(m1: ModelProto, m2: ModelProto, io_map: 列表[对[字符串, 字符串]], inputs: 列表[字符串] | None = None, outputs: 列表[字符串] | None = None, prefix1: 字符串 | None = None, prefix2: 字符串 | None = None, name: 字符串 | None = None, doc_string: 字符串 | None = None, producer_name: 字符串 | None = 'onnx.compose.merge_models', producer_version: 字符串 | None = '1.0', domain: 字符串 | None = '', model_version: 整数 | None = 1) ModelProto [source]¶
将两个 ONNX 模型合并为一个。
合并后的模型通过连接指定的输出/输入集来定义。未在 io_map 参数中指定的输入/输出将保留为合并后的模型的输入/输出。
两个模型应具有相同的 IR 版本,并导入相同的算子集。
- 参数:
m1 (ModelProto) – 第一个模型
m2 (ModelProto) – 第二个模型
io_map (list of pairs of string) – 名称对 [(out0, in0), (out1, in1), …],表示第一个图的输出和第二个图要连接的输入
inputs (list of string) – 可选的列表,指定要包含在合并后的图中的输入。默认情况下,io_map 参数中未包含的所有输入都将包含在合并后的模型中。
outputs (list of string) – 可选的列表,指定要包含在合并后的图中的输出。默认情况下,io_map 参数中未包含的所有输出都将包含在合并后的模型中。
prefix1 (string) – 可选前缀,添加到 m1 中的所有名称
prefix2 (string) – 可选前缀,添加到 m2 中的所有名称
name (string) – 可选的合并后的图的名称。默认情况下,名称是 g1.name 和 g2.name 用下划线分隔符连接而成。
doc_string (string) – 可选的合并后的图的文档字符串。如果未提供,则使用 g1 和 g2 文档字符串连接而成的默认文档字符串。
producer_name (string) – 可选的合并后模型的生成者名称。默认值:'onnx.compose'
producer_version (string) – 可选的合并后模型的生成者版本。默认值:"1.0"
domain (string) – 可选的合并后模型的领域。默认值:""
model_version (int) – 可选的图编码版本。默认值:1
- 返回:
ModelProto
prefix¶
- onnx.compose.add_prefix_graph(graph: GraphProto, prefix: str, rename_nodes: bool | None = True, rename_edges: bool | None = True, rename_inputs: bool | None = True, rename_outputs: bool | None = True, rename_initializers: bool | None = True, rename_value_infos: bool | None = True, inplace: bool | None = False, name_map: dict[str, str] | None = None) GraphProto [source]¶
为图中的元素名称添加前缀:包括节点、边、输入、输出、初始化器、稀疏初始化器、值信息。
这可以用作在合并具有重叠名称的图之前的实用工具。空名称不加前缀。
- 参数:
graph (GraphProto) – 图
prefix (str) – 要添加到图中每个名称的前缀
rename_nodes (bool) – 是否为节点名称添加前缀
rename_edges (bool) – 是否为节点边名称添加前缀
rename_inputs (bool) – 是否为输入名称添加前缀
rename_outputs (bool) – 是否为输出名称添加前缀
rename_initializers (bool) – 是否为初始化器和稀疏初始化器名称添加前缀
rename_value_infos (bool) – 是否为值信息名称添加前缀
inplace (bool) – 如果为 True,直接修改图。否则,将创建副本
name_map – (Dict): 子图中共享的名称映射
- 返回:
GraphProto
- onnx.compose.add_prefix(model: ModelProto, prefix: str, rename_nodes: bool | None = True, rename_edges: bool | None = True, rename_inputs: bool | None = True, rename_outputs: bool | None = True, rename_initializers: bool | None = True, rename_value_infos: bool | None = True, rename_functions: bool | None = True, inplace: bool | None = False) ModelProto [source]¶
为模型中的元素名称添加前缀:包括节点、边、输入、输出、初始化器、稀疏初始化器、值信息以及本地函数。
这可以用作在合并具有重叠名称的模型之前的实用工具。空名称不加前缀。
- 参数:
model (ModelProto) – 模型
prefix (str) – 要添加到图中每个名称的前缀
rename_nodes (bool) – 是否为节点名称添加前缀
rename_edges (bool) – 是否为节点边名称添加前缀
rename_inputs (bool) – 是否为输入名称添加前缀
rename_outputs (bool) – 是否为输出名称添加前缀
rename_initializers (bool) – 是否为初始化器和稀疏初始化器名称添加前缀
rename_value_infos (bool) – 是否为值信息名称添加前缀
rename_functions (bool) – 是否为本地函数名称添加前缀
inplace (bool) – 如果为 True,直接修改模型。否则,将创建副本
- 返回:
ModelProto
dimension¶
- onnx.compose.expand_out_dim(model: ModelProto, dim_idx: int, inplace: bool | None = False) ModelProto [source]¶
在图的每个输出中插入一个大小为 1 的额外维度。
为每个输出插入一个 Unsqueeze 节点。这可以用作在合并图之前的实用工具,例如当第二个图期望批量维度时。
- 参数:
model (ModelProto) – 模型
dim_idx (int) – 要插入的维度的索引。负值表示从后面计算维度。
inplace (bool) – 如果为 True,直接修改模型。否则,将创建副本
- 返回:
ModelProto
- onnx.compose.expand_out_dim_graph(graph: GraphProto, dim_idx: int, inplace: bool | None = False) GraphProto [source]¶
在图的每个输出中插入一个大小为 1 的额外维度。
为每个输出插入一个 Unsqueeze 节点。这可以用作在合并图之前的实用工具,例如当第二个图期望批量维度时。
- 参数:
graph (GraphProto) – 图
dim_idx (int) – 要插入的维度的索引。负值表示从后面计算维度。
inplace (bool) – 如果为 True,直接修改模型。否则,将创建副本
- 返回:
GraphProto