节点
- 类 onnx_graphsurgeon.Node(op: str, name: str | None = None, attrs: Dict[str, object] | None = None, inputs: List[Tensor] | None = None, outputs: List[Tensor] | None = None, domain: str | None = None)
基类:
object
节点表示图中的一个操作,它消耗零个或多个张量,并产生零个或多个张量。
- 参数:
- 类 AttributeRef(name: str, type: type)
基类:
object
AttributeRef 是一个属性值,它引用父函数中的一个属性。仅当节点位于函数内部时,节点的属性才能是 AttributeRef。
- 参数:
name (str) – 父函数中被引用属性的名称。
type (type) – 属性的类型。
- i(tensor_idx=0, producer_idx=0)
便捷函数,用于获取此节点的一个输入张量的生产者节点。请注意,与 o() 函数相比,参数已交换;这是因为张量很可能只有一个生产者
例如
assert node.i() == node.inputs[0].inputs[0] assert node.i(1, 2) == node.inputs[1].inputs[2]
- 参数:
tensor_idx (int) – 此节点的输入张量的索引。默认为 0。
producer_idx (int) – 输入张量的生产者的索引,如果张量有多个生产者。默认为 0
- 返回值:
指定的生产者(输入)节点。
- 返回类型:
- o(consumer_idx=0, tensor_idx=0)
便捷函数,用于获取此节点的一个输出张量的消费者节点。
例如
assert node.o() == node.outputs[0].outputs[0] assert node.o(2, 1) == node.outputs[1].outputs[2]
- 参数:
consumer_idx (int) – 输出张量的消费者的索引。默认为 0。
tensor_idx (int) – 此节点的输出张量的索引,如果节点有多个输出。默认为 0。
- 返回值:
指定的消费者(输出)节点
- 返回类型:
- subgraphs(recursive=False)
便捷函数,用于迭代此节点中包含的所有子图。节点子图位于 ONNX 控制流节点(如“If”和“Loop”)的属性中。
- 参数:
recursive (bool) – 在查找子图时是否递归到子图节点中。默认为 False。
- 返回值:
一个迭代此节点的子图的生成器。