code: def _collect_attributes(node):
      r = dict()
      for attr in node.attribute:
          if attr.type == 1:  # FLOAT
              r[attr.name] = attr.f
          elif attr.type == 2:  # INT
              r[attr.name] = int(attr.i)
          elif attr.type == 4:  # TENSOR
              r[attr.name] = numpy_helper.to_array(attr.t)
              pass
          elif attr.type == 7:  # INTS
              r[attr.name] = list(attr.ints)
          else:
              raise RuntimeError(
                  f"unhandled attribute type {attr.type}"
              )
      return r
  
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 1 for calling a global function with example usage: _collect_attributes(node) and returns: r