class_docstr: Multi Channel Deep Convolutional Neural Network (MCDCNN).
  
  Adapted from the implementation from Fawaz et. al:
  https://github.com/hfawaz/dl-4-tsc/blob/master/classifiers/mcdcnn.py
  
  Parameters
  ----------
  kernel_size : int, optional (default=5)
      The size of kernel in Conv1D layer.
  pool_size : int, optional (default=2)
      The size of kernel in (Max) Pool layer.
  filter_sizes : tuple, optional (default=(8, 8))
      The sizes of filter for Conv1D layer corresponding
      to each Conv1D in the block.
  dense_units : int, optional (default=732)
      The number of output units of the final Dense
      layer of this Network. This is NOT the final layer
      but the penultimate layer.
  conv_padding : str or None, optional (default="same")
      The type of padding to be applied to convolutional
      layers.
  pool_padding : str or None, optional (default="same")
      The type of padding to be applied to pooling layers.
  random_state : int, optional (default=0)
      The seed to any random action.
code: def _prepare_input(self, X):
      # helper function to change X to conform to expected format.
      new_X = []
      n_vars = X.shape[2]
  
      for i in range(n_vars):
          new_X.append(X[:, :, i : i + 1])
  
      return new_X
  
imports: from sktime.networks.base import BaseDeepNetwork
  from sktime.utils.validation._dependencies import _check_dl_dependencies
label_desc: Use image node_id 3 for calling the MCDCNNNetwork obj's underlying member method code with example usage: obj._prepare_input(X) and returns: new_X