code: def check_batch(
      self,
      data,
      mean,
      stddev,
      normalized,
      scalar_mean=None,
      scalar_stddev=None,
      ext_mean=None,
      ext_stddev=None,
      ext_all=None,
      scalar_mean_ext=None,
      scalar_stddev_ext=None,
      scalar_params=None,
  ):
      axes = self.axes
      if type(axes) is list:
          axes = tuple(axes)
      batch = self.batch
      mean_func = custom_mean(batch, axes)
      stddev_func = custom_stddev(batch, axes)
      scale = 1 if self.scale is None else self.scale
      shift = 0 if self.shift is None else self.shift
  
      def check(l1, l2):
          if self.is_integral:
              check_integer(l1, l2, data)
          else:
              eps = 1e-3 * scale * len(data[0].shape)
              check_float(l1, l2, eps)
  
      ref = normalize_list(batch, data, axes, ddof=self.ddof)
      ref_scalar_mean = normalize_list(
          batch, data, axes, mean=1, ddof=self.ddof, eps=self.eps
      )
      ref_scalar_stddev = normalize_list(
          batch, data, axes, stddev=2, eps=self.eps
      )
      shift_scale(ref, shift, scale)
      shift_scale(ref_scalar_mean, shift, scale)
      shift_scale(ref_scalar_stddev, shift, scale)
      mean = mean_func(data)
      stddev = stddev_func(data)
  
      check(normalized, ref)
      check(scalar_mean, ref_scalar_mean)
      check(scalar_stddev, ref_scalar_stddev)
  
      if not batch:
          ref_ext_mean = normalize_list(
              batch, data, axes, mean=mean, ddof=self.ddof
          )
          ref_ext_stddev = normalize_list(
              batch, data, axes, stddev=stddev, ddof=self.ddof
          )
          ref_ext_all = normalize_list(
              batch, data, axes, mean=mean, stddev=stddev
          )
          ref_scalar_mean_ext = normalize_list(
              batch,
              data,
              axes,
              mean=1,
              stddev=stddev,
              ddof=self.ddof,
              eps=self.eps,
          )
          ref_scalar_stddev_ext = normalize_list(
              batch, data, axes, mean=mean, stddev=2, eps=self.eps
          )
  
          shift_scale(ref_ext_mean, shift, scale)
          shift_scale(ref_ext_stddev, shift, scale)
          shift_scale(ref_ext_all, shift, scale)
          shift_scale(ref_scalar_mean_ext, shift, scale)
          shift_scale(ref_scalar_stddev_ext, shift, scale)
  
          check(ext_mean, ref_ext_mean)
          check(ext_stddev, ref_ext_stddev)
          check(ext_all, ref_ext_all)
          check(scalar_mean_ext, ref_scalar_mean_ext)
          check(scalar_stddev_ext, ref_scalar_stddev_ext)
  
      if scalar_params is not None:
          ref_scalar_params = normalize_list(
              batch, data, axes, mean=1, stddev=2
          )
          shift_scale(ref_scalar_params, shift, scale)
          check(scalar_params, ref_scalar_params)
  
imports: from nvidia.dali.pipeline import Pipeline
  from nvidia.dali import backend
  import nvidia.dali.ops
  import numpy
  from test_utils import dali_type
  from nvidia.dali import fn, pipeline_def, types
  from nose2.tools import params
label_desc: Use image node_id 3 for calling the NormalizePipeline obj's underlying member method code with example usage: obj.check_batch(data, mean, stddev, normalized, scalar_mean, scalar_stddev, ext_mean, ext_stddev, ext_all, scalar_mean_ext, scalar_stddev_ext, scalar_params) without return types