onnx_ir.tape

用于促进构建 IR 图的记录模块。

onnx_ir.tape 模块提供了记录节点和初始化器以构建计算图或函数的实用工具。

Tape

Tape 类是一个记录器,用于收集在构建图或函数期间创建的节点和初始化器。它支持创建具有单个或多个输出的节点以及注册初始化器。

class onnx_ir.tape.Tape(graph_like=None)

Tape 类。

一个 tape 是一个记录器,用于收集创建的节点和初始化器,以便它们可以用于创建图。

示例

import onnx_ir as ir

tape = ir.tape.Tape()
a = tape.initializer(ir.tensor([1, 2, 3], name="a"))
b: ir.Value = ...
c: ir.Value = ...
x = tape.op("Add", [a, b], attributes={"alpha": 1.0})
y = tape.op("Mul", [x, c], attributes={"beta": 2.0})
model = ir.Model(
    graph := ir.Graph(
        inputs=[b, c],
        outputs=[y],
        nodes=tape.nodes,
        initializers=tape.initializers
        opset_imports={"": 20},
    ),
    ir_version=10,
)
参数:

graph_like (ir.Graph | ir.Function | None)

graph_like

要将新节点和初始化器附加到的图。当它为 None 时,节点和初始化器在没有图拥有者的情况下创建。初始化器不会添加到函数中,因为 ONNX 不支持此功能。

initializer(tensor, name=None)[source]
参数:
返回类型:

Value

property initializers: Sequence[Value]
property nodes: Sequence[Node]
op(op_type, inputs, attributes=None, *, domain='', overload='', version=None, graph=None, name=None, doc_string=None, metadata_props=None, output=None)[source]
参数:
返回类型:

Value

op_multi_out(op_type, inputs, attributes=None, *, num_outputs=None, outputs=None, domain='', overload='', version=None, graph=None, name=None, doc_string=None, metadata_props=None)[source]
参数:
返回类型:

Sequence[Value]

property used_opsets: set[tuple[str, int | None]]