code: def define_graph(self):
      self.data = self.inputs()
      random_data = (
          self.data.gpu() if self.device == "gpu" else self.data
      )
      rng = self.coin()
      out = self.cmn(random_data, mirror=rng)
      if self.extra_outputs:
          return out, random_data, rng
      else:
          return out
  
imports: import numpy
  import nvidia.dali
  import nvidia.dali.fn
  import nvidia.dali.ops
  import nvidia.dali.types
  import os
  from functools import partial
  from nvidia.dali import pipeline_def
  from nvidia.dali.pipeline import Pipeline
  from nose2.tools import params
  from nose_utils import assert_raises
  from nose_utils import raises
  from test_slice import check_slice_output, abs_slice_start_and_end
  from test_utils import RandomDataIterator
  from test_utils import as_array
  from test_utils import compare_pipelines, dali_type_to_np
  from test_utils import get_dali_extra_path
  import itertools
label_desc: Use image node_id 2 for calling the CMNRandomDataPipeline obj's underlying member method code with example usage: obj.define_graph() and returns: out,  random_data,  rng, out