code: def test_batchnorm(device_id):
      if device_id == -1:
          pytest.skip("Test only runs on GPU")
      shape = (3,)
      i = C.input_variable(shape, dtype="float16")
      scale = C.parameter(shape, init=1, dtype="float")
      bias = C.parameter(shape, init=2, dtype="float")
      run_mean = C.constant(3, shape=shape, dtype="float")
      run_variance = C.constant(4, shape=shape, dtype="float")
      run_count = C.constant(0, shape=(), dtype="float")
  
      bn = C.batch_normalization(
          i,
          scale,
          bias,
          run_mean,
          run_variance,
          running_count=run_count,
          spatial=False,
          normalization_time_constant=5000,
          blend_time_constant=0,
          epsilon=0.00001,
          use_cudnn_engine=True,
          disable_regularization=True,
      )
  
      data = AA([[1, 2, 3]]).astype(np.float16)
      bn.grad(data, wrt=[scale, bias])
  
file_path: CNTK/bindings/python/cntk/ops/tests/fp16_test.py
imports: from __future__ import division
  import numpy
  import pytest
  from .ops_test_utils import _test_binary_op, AA, PRECISION_TO_TYPE, unittest_helper
  import cntk
label_desc: Use image node_id 4 for calling a global function with example usage: test_batchnorm(device_id) without return types