class_docstr: Convert graph shape from Channel first (NCHW) to Channel last (NHWC) format.
  
  Supported functions: `Convolution`, `Deconvolution`, `BatchNormalization`,
  `MaxPooling`, `AveragePooling`, `SumPooling`, `Unpooling`, `Concatenate`
  
  Args:
      inputs (list of nn.Variable): Original very beginning inputs (NCHW) of a network.
      inputs_cl (list of nn.Variable): Channel last version of very beginning inputs (NHWC) of a network.
        If this is not given, `inputs_cl` are generated internally and holded.
  
  Examples:
  
  .. code-block:: python
  
     pred = Model(...)
  
     import nnabla.experimental.graph_converters as GC
  
     modifiers = [GC.ChannelLastModifier(<inputs of pred>)]
     gc = GC.GraphConverter(modifiers)
     pred = gc.convert(pred)
code: def _prepare_inputs(self, inputs, inputs_cl=None):
      if inputs_cl is None:
          inputs_cl = []
          for inp in inputs:
              b, c, h, w = inp.shape
              x = nn.Variable([b, h, w, c])
              x.d = inp.d.copy().transpose([0, 2, 3, 1])
              inputs_cl.append(x)
      self.inputs_cl = inputs_cl
  
      # Replace the very beginning of input
      for inp, inp_cl in zip(inputs, inputs_cl):
          f = inp.function_references[0]
          self.init_map_func_inputs(f, [inp_cl])
  
file_path: nnabla/python/src/nnabla/experimental/graph_converters/channel_last.py
imports: import nnabla
  import nnabla.functions
  import numpy
  from .graph_converter import FunctionModifier
label_desc: Use image node_id 2 for calling the ChannelLastModifier obj's underlying member method code with example usage: obj._prepare_inputs(inputs, inputs_cl) without return types