code: def test_batch_norm_in_non_training_state(self):
      network = layers.join(
          layers.Input(10),
          layers.BatchNorm(),
      )
      input_value = tf.Variable(
          asfloat(np.random.random((30, 10))),
          name="input_value",
          dtype=tf.float32,
      )
  
      update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
      self.assertEqual(len(update_ops), 0)
  
      output_value = network.output(input_value)
      update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
      self.assertEqual(len(update_ops), 0)
  
      network.output(input_value, training=True)
      update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
      self.assertEqual(len(update_ops), 2)
  
      # Without training your running mean and std suppose to be
      # equal to 0 and 1 respectavely.
      output_value = self.eval(output_value)
      np.testing.assert_array_almost_equal(
          self.eval(input_value), output_value, decimal=4
      )
  
imports: import tempfile
  import numpy
  import tensorflow
  from scipy import stats
  from neupy import layers, algorithms, storage
  from neupy.utils import asfloat
  from neupy.exceptions import LayerConnectionError, WeightInitializationError
  from base import BaseTestCase
  from helpers import simple_classification
label_desc: Use image node_id 5 for calling the BatchNormTestCase obj's underlying member method code with example usage: obj.test_batch_norm_in_non_training_state() without return types