module onnx_tools.onnx_tools#

Short summary#

module mlprodict.onnx_tools.onnx_tools

Functions to manipulate ONNX file.

source on GitHub

Functions#

function

truncated documentation

ensure_topological_order

Ensures and modifies the order of nodes to have a topological order (every node in the list can only be an input …

enumerate_onnx_names

Enumerates all existing names in one ONNX graph (ModelProto, FunctionProto, :epkg:`GraphProto`). …

enumerate_onnx_nodes

Enumerates all nodes in one ONNX graph (ModelProto, FunctionProto, :epkg:`GraphProto`). The function …

find_node_input_name

Finds a node input by its name.

find_node_name

Finds a node by its name.

insert_node

Inserts a node before one node input.

Documentation#

Functions to manipulate ONNX file.

source on GitHub

mlprodict.onnx_tools.onnx_tools.ensure_topological_order(inputs, initializers, nodes)#

Ensures and modifies the order of nodes to have a topological order (every node in the list can only be an input for a node later in this list). The function raises an exception if a cycle is detected.

Parameters:
  • inputs – graph inputs:

  • initializers – graph initializers

  • nodes – graph nodes

Returns:

list ordered nodes

source on GitHub

mlprodict.onnx_tools.onnx_tools.enumerate_onnx_names(onx)#

Enumerates all existing names in one ONNX graph (ModelProto, FunctionProto, :epkg:`GraphProto`). The function is recursive.

Parameters:

onx – one onnx object

Returns:

iterator on names

source on GitHub

mlprodict.onnx_tools.onnx_tools.enumerate_onnx_nodes(onx)#

Enumerates all nodes in one ONNX graph (ModelProto, FunctionProto, :epkg:`GraphProto`). The function is recursive.

Parameters:

onx – one onnx object

Returns:

iterator on names

source on GitHub

mlprodict.onnx_tools.onnx_tools.find_node_input_name(node, name)#

Finds a node input by its name. :param node: onnx node :param name: node name :return: input index

source on GitHub

mlprodict.onnx_tools.onnx_tools.find_node_name(model, name)#

Finds a node by its name. :param model: onnx graph :param name: node name :return: node pointer

source on GitHub

mlprodict.onnx_tools.onnx_tools.insert_node(model, op_type, node, input_index=0, new_name=None, **attrs)#

Inserts a node before one node input. :param model: onnx graph :param op_type: :param node: node or node name :param input_index: input index or input name :param attrs: node attributes :return: updated graph

source on GitHub