code: def test_builder_eval(self):
      x_val = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
  
      mode = "TANH_APPROXIMATION"
      v = mb.gelu(x=x_val, mode=mode)
      a = np.sqrt(2 / np.pi) * (x_val + 0.044715 * np.power(x_val, 3))
      out = 0.5 * x_val * (1 + np.tanh(a))
      assert is_close(out, v.val)
  
      mode = "SIGMOID_APPROXIMATION"
      v = mb.gelu(x=x_val, mode=mode)
      out = x_val * (1 / (1 + np.exp(-(1.702 * x_val))))
      assert is_close(out, v.val)
  
      v = mb.gelu(x=x_val)
      out = 0.5 * x_val * (1 + scipy.special.erf(x_val / np.sqrt(2)))
      assert is_close(out, v.val)
  
imports: from scipy import special
  import scipy
  from coremltools.converters.mil import testing_reqs
  from coremltools.converters.mil.testing_reqs import *
  from .testing_utils import run_compare_builder
label_desc: Use image node_id 2 for calling the TestGeLU obj's underlying member method code with example usage: obj.test_builder_eval() without return types