code: def _create_batch_norm_ndarray_args(
      xp,
      device,
      x_shape,
      gamma_shape,
      beta_shape,
      mean_shape,
      var_shape,
      float_dtype,
  ):
      x = array_utils.create_dummy_ndarray(xp, x_shape, float_dtype)
  
      # Non-contiguous gamma and beta is not supported by CUDA.
      # TODO(hvy): Support non-contiguous gamma and beta with CUDA. Create a
      # contiguous copy in the cuDNN wrapper.
      pad_gamma_beta = device.backend.name != "cuda"
      gamma = array_utils.create_dummy_ndarray(
          xp, gamma_shape, float_dtype, padding=pad_gamma_beta
      )
      beta = array_utils.create_dummy_ndarray(
          xp, beta_shape, float_dtype, padding=pad_gamma_beta
      )
  
      # Non-contiguous running values which are updated in-place are not
      # supported by CUDA, so we only pad for other devices.
      pad_running = device.backend.name != "cuda"
      mean = array_utils.create_dummy_ndarray(
          xp, mean_shape, float_dtype, padding=pad_running
      )
      var = array_utils.create_dummy_ndarray(
          xp, var_shape, float_dtype, padding=pad_running, start=0
      )
  
      # TODO(imanishi): Remove them after supporting random test
      x /= x.size
      gamma /= gamma.size
      beta /= beta.size
      mean /= mean.size
      var /= var.size
  
      return x, gamma, beta, mean, var
  
imports: import unittest
  import chainer
  import numpy
  import pytest
  import chainerx
  import chainerx.testing
  from chainerx_tests import array_utils
  from chainerx_tests import op_utils
label_desc: Use image node_id 1 for calling a global function with example usage: _create_batch_norm_ndarray_args(xp, device, x_shape, gamma_shape, beta_shape, mean_shape, var_shape, float_dtype) and returns: x,  gamma,  beta,  mean,  var