code: def _create_bn_dummy_vars(x, axes, beta, gamma, mean, variance):
      in_shape = x.shape
      axes = _force_list(axes)
      adaptive_shape = tuple(
          in_shape[i] if i in axes else 1 for i in range(len(in_shape))
      )
  
      # create dummy adaptive variables
      assert_flag = False
      if beta is not None:
          assert_flag |= beta.shape != adaptive_shape
      else:
          beta = constant(val=0, shape=adaptive_shape)
  
      if gamma is not None:
          assert_flag |= gamma.shape != adaptive_shape
      else:
          gamma = constant(val=1, shape=adaptive_shape)
  
      if assert_flag:
          raise ValueError(
              "The shapes of beta and gamma must be {}."
              " If you want to use a tensor with other shape, use arithmetic operators like"
              " `tensor_normalization(x, axes, beta=None, gamma=None) * gamma + beta`.".format(
                  adaptive_shape
              )
          )
  
      if mean is None:
          # _mean is never used and there is no need to initialize.
          mean = nn.Variable(adaptive_shape, need_grad=False)
  
      if variance is None:
          variance = nn.Variable(
              adaptive_shape, need_grad=False
          )  # same above.
  
      return beta, gamma, mean, variance
  
imports: from __future__ import absolute_import
  from .function_bases import *
  from six.moves import reduce
  import numpy
  import nnabla
label_desc: Use image node_id 5 for calling a global function with example usage: _create_bn_dummy_vars(x, axes, beta, gamma, mean, variance) and returns: beta,  gamma,  mean,  variance