code: def define_graph(self):
      data = self.input_data = self.input()
      if self.add_layout is not None:
          data = self.add_layout(data)
      mean = self.mean(data)
      stddev = self.stddev(data)
  
      dev_data = data.gpu() if self.device == "gpu" else data
      normalized = self.normalize(dev_data)
      scalar_mean = self.scalar_mean(dev_data)
      scalar_stddev = self.scalar_stddev(dev_data)
      if not self.batch:
          ext_mean = self.normalize(dev_data, mean=mean)
          ext_stddev = self.normalize(dev_data, stddev=stddev)
          ext_all = self.normalize(dev_data, mean=mean, stddev=stddev)
          scalar_mean_ext = self.scalar_mean(dev_data, stddev=stddev)
          scalar_stddev_ext = self.scalar_stddev(dev_data, mean=mean)
      if not self.has_axes:
          scalar_params = self.scalar_params(dev_data)
  
      out = [data, mean, stddev, normalized, scalar_mean, scalar_stddev]
      if not self.batch:
          out += [
              ext_mean,
              ext_stddev,
              ext_all,
              scalar_mean_ext,
              scalar_stddev_ext,
          ]
      if not self.has_axes:
          out.append(scalar_params)
      return out
  
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 2 for calling the NormalizePipeline obj's underlying member method code with example usage: obj.define_graph() and returns: out