node

onnx_ir.node(op_type, inputs, attributes=None, *, domain='', overload='', num_outputs=None, outputs=None, version=None, graph=None, name=None, doc_string=None, metadata_props=None)

创建一个 Node

这是一个方便的构造函数,用于创建支持 Python 对象作为属性的节点。

示例

>>> import onnx_ir as ir
>>> input_a = ir.val("A", shape=[1, 2], type=ir.TensorType(ir.DataType.INT32))
>>> input_b = ir.val("B", shape=[1, 2], type=ir.TensorType(ir.DataType.INT32))
>>> node = ir.node(
...     "SomeOp",
...     inputs=[input_a, input_b],
...     attributes={"alpha": 1.0, "some_list": [1, 2, 3]},
...     domain="some.domain",
...     name="node_name"
... )
>>> node.op_type
'SomeOp'
参数:
  • op_type (str) – 运算符的名称。

  • inputs (Sequence[ir.Value | None]) – 输入值。当输入为 None 时,它是一个空输入。

  • attributes (Mapping[str, _convenience.SupportedAttrTypes] | None) – 属性。RefAttr 只能在节点在 Function 中定义时使用。

  • overload (str) – 节点调用函数时的重载名称。

  • domain (str) – 运算符的域。对于 onnx 运算符,这是一个空字符串。

  • num_outputs (int | None) – 节点的输出数量。如果未指定,则数量为 1。

  • outputs (Sequence[ir.Value] | None) – 输出值。如果为 None,则在初始化期间创建输出。

  • version (int | None) – 运算符的版本。如果为 None,则版本未指定,并将遵循图的版本。

  • graph (ir.Graph | None) – 节点所属的图。如果为 None,则节点未添加到任何图。一个 Node 必须属于零个或一个图。

  • name (str | None) – 节点的名称。如果为 None,则节点是匿名的。

  • doc_string (str | None) – 文档字符串。

  • metadata_props (dict[str, str] | None) – 元数据属性。

返回:

一个具有给定 op_type 和输入的节点。

返回类型:

ir.Node