class_docstr: References
  ----------
  * https://github.com/onnx/onnx/blob/master/docs/Operators.md
class_docstr_tok: ["References","--","--","--","--","--","*","https",":","\/\/github.com\/onnx\/onnx\/blob\/master\/docs\/Operators.md"]
code: def _visit_node(self, node, next_nodes):
      if node.op_type == "MatMul":
          (
              next_nodes,
              new_layer,
              new_layer_inputs,
          ) = self._consume_dense_nodes(node, next_nodes)
      elif node.op_type == "Gemm":
          (
              next_nodes,
              new_layer,
              new_layer_inputs,
          ) = self._consume_gemm_dense_nodes(node, next_nodes)
      elif node.op_type == "Conv":
          (
              next_nodes,
              new_layer,
              new_layer_inputs,
          ) = self._consume_conv_nodes(node, next_nodes)
      elif node.op_type == "Reshape":
          next_nodes = self._consume_reshape_nodes(node, next_nodes)
          new_layer = new_layer_inputs = None
      elif node.op_type in _POOLING_OP_TYPES:
          (
              next_nodes,
              new_layer,
              new_layer_inputs,
          ) = self._consume_pool_nodes(node, next_nodes)
      else:
          raise Exception(f"Unhandled node type {node.op_type}")
  
      for next in next_nodes:
          self._node_stack.append(next)
  
      return new_layer, new_layer_inputs
  
file_path: OMLT/src/omlt/io/onnx_parser.py
imports: import math
  import numpy
  from onnx import numpy_helper
  from omlt.neuralnet.layer import ConvLayer2D, DenseLayer, IndexMapper, InputLayer, PoolingLayer2D
  from omlt.neuralnet.network_definition import NetworkDefinition
label_desc: Use image node_id 4 for calling the NetworkParser obj's underlying member method code with example usage: obj._visit_node(node, next_nodes) and returns: new_layer,  new_layer_inputs