class_docstr: Time Convolutional Neural Network (CNN), as described in [1]_.
  
  Parameters
  ----------
  n_epochs       : int, default = 2000
      the number of epochs to train the model
  batch_size      : int, default = 16
      the number of samples per gradient update.
  kernel_size     : int, default = 7
      the length of the 1D convolution window
  avg_pool_size   : int, default = 3
      size of the average pooling windows
  n_conv_layers   : int, default = 2
      the number of convolutional plus average pooling layers
  filter_sizes    : array of shape (n_conv_layers) default = [6, 12]
  random_state    : int or None, default=None
      Seed for random number generation.
  verbose         : boolean, default = False
      whether to output extra information
  loss            : string, default="mean_squared_error"
      fit parameter for the keras model
  metrics         : list of strings, default=["accuracy"],
  activation      : string or a tf callable, default="sigmoid"
      Activation function used in the output linear layer.
      List of available activation functions:
      https://keras.io/api/layers/activations/
  use_bias        : boolean, default = True
      whether the layer uses a bias vector.
  optimizer       : keras.optimizers object, default = Adam(lr=0.01)
      specify the optimizer and the learning rate to be used.
  
  Notes
  -----
  Adapted from the implementation from Fawaz et. al
  https://github.com/hfawaz/dl-4-tsc/blob/master/classifiers/cnn.py
  
  References
  ----------
  .. [1] Zhao et. al, Convolutional neural networks for time series classification,
  Journal of Systems Engineering and Electronics, 28(1):2017.
  
  Examples
  --------
  >>> from sktime.classification.deep_learning.cnn import CNNClassifier
  >>> from sktime.datasets import load_unit_test
  >>> X_train, y_train = load_unit_test(split="train")
  >>> X_test, y_test = load_unit_test(split="test")
  >>> cnn = CNNClassifier(n_epochs=20,batch_size=4)  # doctest: +SKIP
  >>> cnn.fit(X_train, y_train)  # doctest: +SKIP
  CNNClassifier(...)
class_docstr_tok: ["Time","Convolutional","Neural","Network","(","CNN",")",",","as","described","in","[","1","]","_.","Parameters","--","--","--","--","--","n_epochs",":","int",",","default","=","2000","the","number","of","epochs","to","train","the","model","batch_size",":","int",",","default","=","16","the","number","of","samples","per","gradient","update",".","kernel_size",":","int",",","default","=","7","the","length","of","the","1D","convolution","window","avg_pool_size",":","int",",","default","=","3","size","of","the","average","pooling","windows","n_conv_layers",":","int",",","default","=","2","the","number","of","convolutional","plus","average","pooling","layers","filter_sizes",":","array","of","shape","(","n_conv_layers",")","default","=","[","6",",","12","]","random_state",":","int","or","None",",","default=None","Seed","for","random","number","generation",".","verbose",":","boolean",",","default","=","False","whether","to","output","extra","information","loss",":","string",",","default=","''","mean_squared_error","''","fit","parameter","for","the","keras","model","metrics",":","list","of","strings",",","default=","[","``","accuracy","''","]",",","activation",":","string","or","a","tf","callable",",","default=","''","sigmoid","''","Activation","function","used","in","the","output","linear","layer",".","List","of","available","activation","functions",":","https",":","\/\/keras.io\/api\/layers\/activations\/","use_bias",":","boolean",",","default","=","True","whether","the","layer","uses","a","bias","vector",".","optimizer",":","keras.optimizers","object",",","default","=","Adam","(","lr=0.01",")","specify","the","optimizer","and","the","learning","rate","to","be","used",".","Notes","--","--","-","Adapted","from","the","implementation","from","Fawaz","et",".","al","https",":","\/\/github.com\/hfawaz\/dl-4-tsc\/blob\/master\/classifiers\/cnn.py","References","--","--","--","--","--","..","[","1","]","Zhao","et",".","al",",","Convolutional","neural","networks","for","time","series","classification",",","Journal","of","Systems","Engineering","and","Electronics",",","28","(","1",")",":2017",".","Examples","--","--","--","--",">",">",">","from","sktime.classification.deep_learning.cnn","import","CNNClassifier",">",">",">","from","sktime.datasets","import","load_unit_test",">",">",">","X_train",",","y_train","=","load_unit_test","(","split=","''","train","''",")",">",">",">","X_test",",","y_test","=","load_unit_test","(","split=","''","test","''",")",">",">",">","cnn","=","CNNClassifier","(","n_epochs=20",",","batch_size=4",")","#","doctest",":","+SKIP",">",">",">","cnn.fit","(","X_train",",","y_train",")","#","doctest",":","+SKIP","CNNClassifier","(","...",")"]
docstr: Fit the classifier on the training set (X, y).
  
  Parameters
  ----------
  X : np.ndarray of shape = (n_instances (n), n_dimensions (d), series_length (m))
      The training input samples.
  y : np.ndarray of shape n
      The training data class labels.
  
  Returns
  -------
  self : object
docstr_tok: ["Fit","the","classifier","on","the","training","set","(","X",",","y",")",".","Parameters","--","--","--","--","--","X",":","np.ndarray","of","shape","=","(","n_instances","(","n",")",",","n_dimensions","(","d",")",",","series_length","(","m",")",")","The","training","input","samples",".","y",":","np.ndarray","of","shape","n","The","training","data","class","labels",".","Returns","--","--","--","-","self",":","object"]
code: def _fit(self, X, y):
      """Fit the classifier on the training set (X, y).
  
      Parameters
      ----------
      X : np.ndarray of shape = (n_instances (n), n_dimensions (d), series_length (m))
          The training input samples.
      y : np.ndarray of shape n
          The training data class labels.
  
      Returns
      -------
      self : object
      """
      y_onehot = self.convert_y_to_keras(y)
      # Transpose to conform to Keras input style.
      X = X.transpose(0, 2, 1)
  
      check_random_state(self.random_state)
      self.input_shape = X.shape[1:]
      self.model_ = self.build_model(self.input_shape, self.n_classes_)
      if self.verbose:
          self.model_.summary()
      self.history = self.model_.fit(
          X,
          y_onehot,
          batch_size=self.batch_size,
          epochs=self.n_epochs,
          verbose=self.verbose,
          callbacks=deepcopy(self.callbacks) if self.callbacks else [],
      )
      return self
  
file_path: sktime/sktime/classification/deep_learning/cnn.py
imports: from copy import deepcopy
  from sklearn.utils import check_random_state
  from sktime.classification.deep_learning.base import BaseDeepClassifier
  from sktime.networks.cnn import CNNNetwork
  from sktime.utils.validation._dependencies import _check_dl_dependencies
label_desc: Use image node_id 3 for calling the CNNClassifier obj's underlying member method code with example usage: obj._fit(X, y) and returns: self