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]¶
- 参数:
tensor (TensorProtocol)
name (str | None)
- 返回类型:
- op(op_type, inputs, attributes=None, *, domain='', overload='', version=None, graph=None, name=None, doc_string=None, metadata_props=None, output=None)[source]¶
- 参数:
op_type (str)
attributes (Mapping[str, str | int | float | Sequence[int] | Sequence[float] | Sequence[str] | TensorProtocol | TensorProto | Attr | GraphProtocol | Sequence[GraphProtocol] | GraphProto | TypeProtocol | Sequence[TypeProtocol] | None] | None)
domain (str)
overload (str)
version (int | None)
graph (Graph | None)
name (str | None)
doc_string (str | None)
output (Value | None)
- 返回类型:
- 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]¶
- 参数:
op_type (str)
attributes (Mapping[str, str | int | float | Sequence[int] | Sequence[float] | Sequence[str] | TensorProtocol | TensorProto | Attr | GraphProtocol | Sequence[GraphProtocol] | GraphProto | TypeProtocol | Sequence[TypeProtocol] | None] | None)
num_outputs (int | None)
domain (str)
overload (str)
version (int | None)
graph (Graph | None)
name (str | None)
doc_string (str | None)
- 返回类型: