onnx_ir.traversal¶

Utilities for traversing the IR graph.

class onnx_ir.traversal.RecursiveGraphIterator(graph_like: Graph | Function | GraphView, *, recursive: Callable[[Node], bool] | None = None, reverse: bool = False)[source]¶
__abstractmethods__ = frozenset({})¶
__annotations__ = {}¶
__dict__ = mappingproxy({'__module__': 'onnx_ir.traversal', '__init__': <function RecursiveGraphIterator.__init__>, '__iter__': <function RecursiveGraphIterator.__iter__>, '__next__': <function RecursiveGraphIterator.__next__>, '_recursive_node_iter': <function RecursiveGraphIterator._recursive_node_iter>, '_iterate_subgraphs': <function RecursiveGraphIterator._iterate_subgraphs>, '__reversed__': <function RecursiveGraphIterator.__reversed__>, '__orig_bases__': (collections.abc.Iterator[onnx_ir.Node], collections.abc.Reversible[onnx_ir.Node]), '__dict__': <attribute '__dict__' of 'RecursiveGraphIterator' objects>, '__weakref__': <attribute '__weakref__' of 'RecursiveGraphIterator' objects>, '__doc__': None, '__abstractmethods__': frozenset(), '_abc_impl': <_abc._abc_data object>, '__annotations__': {}})¶
__init__(graph_like: Graph | Function | GraphView, *, recursive: Callable[[Node], bool] | None = None, reverse: bool = False)[source]¶

Iterate over the nodes in the graph, recursively visiting subgraphs.

Parameters:
  • graph_like – The graph to traverse.

  • recursive – A callback that determines whether to recursively visit the subgraphs contained in a node. If not provided, all nodes in subgraphs are visited.

  • reverse – Whether to iterate in reverse order.

__iter__() Self[source]¶
__module__ = 'onnx_ir.traversal'¶
__next__() Node[source]¶

Return the next item from the iterator. When exhausted, raise StopIteration

__orig_bases__ = (collections.abc.Iterator[onnx_ir.Node], collections.abc.Reversible[onnx_ir.Node])¶
__reversed__() Iterator[Node][source]¶
__weakref__¶

list of weak references to the object (if defined)