code: def test5dBatchNormFollowedByRelu(self):
      # The remapper grappler pass previously did not properly handle a 5D
      # inference FusedBatchNorm followed by Relu. This asserts that this case is
      # correctly handled.
      np.random.seed(1)
      x = np.random.random_sample((2, 3, 2, 2, 3)).astype(np.float32)
      scale = np.random.random_sample((3,)).astype(np.float32)
      offset = np.random.random_sample((3,)).astype(np.float32)
      mean = np.random.random_sample((3,)).astype(np.float32)
      var = np.random.random_sample((3,)).astype(np.float32)
  
      epsilon = 0.001
      y, _, _ = nn_impl.fused_batch_norm(
          x,
          scale,
          offset,
          mean=mean,
          variance=var,
          epsilon=epsilon,
          data_format="NCDHW",
          is_training=False,
      )
      y = nn_ops.relu(y)
      y_val = self.evaluate(y)
      y_ref = self._inference_ref(
          x, scale, offset, mean, var, epsilon, "NCDHW"
      )
      y_ref = np.maximum(y_ref, 0.0)
      self.assertAllClose(y_ref, y_val, atol=1e-3)
  
imports: import numpy
  from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gen_nn_ops
  from tensorflow.python.ops import gradient_checker
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_fused_batch_norm_grad
  from tensorflow.python.ops import nn_impl
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 46 for calling the BatchNormalizationTest obj's underlying member method code with example usage: obj.test5dBatchNormFollowedByRelu() without return types