code: def check_neg_fusion(
      net_original,
      attrs_name=None,
      excluded_attrs=None,
      data_shapes=[(4, 4, 10, 10)],
      name="conv",
  ):
      op_name = config[name][OP_NAME]
      one_shape = isinstance(data_shapes, tuple)
      if one_shape:
          # replace one shape with list of shapes with one element to follow later the same schema
          data_shapes = [data_shapes]
      data = []
      for shape in data_shapes:
          data.append(mx.np.random.uniform(size=shape))
  
      net_original.initialize()
      net_original.hybridize()
      net_original(*data)
  
      sym, _ = net_original.export(None)
      sym_sg = sym.optimize_for(
          SG_PASS_NAME, dedup_subgraph=True, skip_infer=True
      )
  
      attrs_dict = sym_sg.attr_dict()
      for k, v in attrs_dict.items():
          if k.find(op_name) != -1:
              for attr in attrs_name:
                  assert v[attr] == "true"
              for exc_attr in excluded_attrs:
                  assert exc_attr not in v.keys(), (
                      exc_attr + " atribute shouldn't exist"
                  )
  
imports: import mxnet
  import numpy
  import unittest
  import pytest
  import ctypes
  import copy
  from mxnet.contrib import quantization
  from mxnet.gluon import nn
  from mxnet.test_utils import assert_almost_equal, assert_almost_equal_with_err
label_desc: Use image node_id 6 for calling a global function with example usage: check_neg_fusion(net_original, attrs_name, excluded_attrs, data_shapes, name) without return types