code: def test_conv_ReluBigMFormulation(datadir):
      from omlt.io.onnx import load_onnx_neural_network_with_bounds
  
      net = load_onnx_neural_network_with_bounds(
          datadir.file("keras_conv_7x7_relu.onnx")
      )
      m = pyo.ConcreteModel()
  
      m.neural_net_block = OmltBlock()
      formulation = ReluBigMFormulation(net)
      m.neural_net_block.build_formulation(formulation)
      m.obj1 = pyo.Objective(expr=0)
  
      # compute expected output for this input
      input = np.eye(7, 7).reshape(1, 7, 7)
      x = input
      for layer in net.layers:
          x = layer.eval_single_layer(x)
      output = x
  
      for i in range(7):
          for j in range(7):
              m.neural_net_block.inputs[0, i, j].fix(input[0, i, j])
      status = pyo.SolverFactory("cbc").solve(m, tee=False)
  
      d, r, c = output.shape
      for i in range(d):
          for j in range(r):
              for k in range(c):
                  expected = output[i, j, k]
                  actual = pyo.value(
                      m.neural_net_block.outputs[i, j, k]
                  )
                  assert abs(actual - expected) < 1e-3
  
file_path: OMLT/tests/neuralnet/test_relu.py
imports: import numpy
  import pyomo.environ
  import pytest
  from omlt.block import OmltBlock
  from omlt.dependencies import onnx_available
  from omlt.neuralnet import FullSpaceNNFormulation, ReluBigMFormulation, ReluComplementarityFormulation, ReluPartitionFormulation
  from omlt.neuralnet.activations import ComplementarityReLUActivation
label_desc: Use image node_id 6 for calling a global function with example usage: test_conv_ReluBigMFormulation(datadir) without return types