class_docstr: Time series attentional prototype network (TapNet), as described in [1]_.
  
  Parameters
  ----------
  filter_sizes        : array of int, default = (256, 256, 128)
      sets the kernel size argument for each convolutional block.
      Controls number of convolutional filters
      and number of neurons in attention dense layers.
  kernel_sizes        : array of int, default = (8, 5, 3)
      controls the size of the convolutional kernels
  layers              : array of int, default = (500, 300)
      size of dense layers
  reduction           : int, default = 16
      divides the number of dense neurons in the first layer of the attention block.
  n_epochs            : int, default = 2000
      number of epochs to train the model
  batch_size          : int, default = 16
      number of samples per update
  dropout             : float, default = 0.5
      dropout rate, in the range [0, 1)
  dilation            : int, default = 1
      dilation value
  activation          : str, default = "sigmoid"
      activation function for the last output layer
  loss                : str, default = "binary_crossentropy"
      loss function for the classifier
  optimizer           : str or None, default = "Adam(lr=0.01)"
      gradient updating function for the classifier
  use_bias            : bool, default = True
      whether to use bias in the output dense layer
  use_rp              : bool, default = True
      whether to use random projections
  use_att             : bool, default = True
      whether to use self attention
  use_lstm        : bool, default = True
      whether to use an LSTM layer
  use_cnn         : bool, default = True
      whether to use a CNN layer
  verbose         : bool, default = False
      whether to output extra information
  random_state    : int or None, default = None
      seed for random
  
  Attributes
  ----------
  n_classes      : int
      number of classes extracted from the data
  
  References
  ----------
  .. [1] Zhang et al. Tapnet: Multivariate time series classification with
  attentional prototypical network,
  Proceedings of the AAAI Conference on Artificial Intelligence
  34(4), 6845-6852, 2020
  
  Examples
  --------
  >>> from sktime.classification.deep_learning.tapnet import TapNetClassifier
  >>> 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")
  >>> tapnet = TapNetClassifier(n_epochs=20,batch_size=4)  # doctest: +SKIP
  >>> tapnet.fit(X_train, y_train) # doctest: +SKIP
  TapNetClassifier(...)
class_docstr_tok: ["Time","series","attentional","prototype","network","(","TapNet",")",",","as","described","in","[","1","]","_.","Parameters","--","--","--","--","--","filter_sizes",":","array","of","int",",","default","=","(","256",",","256",",","128",")","sets","the","kernel","size","argument","for","each","convolutional","block",".","Controls","number","of","convolutional","filters","and","number","of","neurons","in","attention","dense","layers",".","kernel_sizes",":","array","of","int",",","default","=","(","8",",","5",",","3",")","controls","the","size","of","the","convolutional","kernels","layers",":","array","of","int",",","default","=","(","500",",","300",")","size","of","dense","layers","reduction",":","int",",","default","=","16","divides","the","number","of","dense","neurons","in","the","first","layer","of","the","attention","block",".","n_epochs",":","int",",","default","=","2000","number","of","epochs","to","train","the","model","batch_size",":","int",",","default","=","16","number","of","samples","per","update","dropout",":","float",",","default","=","0.5","dropout","rate",",","in","the","range","[","0",",","1",")","dilation",":","int",",","default","=","1","dilation","value","activation",":","str",",","default","=","``","sigmoid","''","activation","function","for","the","last","output","layer","loss",":","str",",","default","=","``","binary_crossentropy","''","loss","function","for","the","classifier","optimizer",":","str","or","None",",","default","=","``","Adam","(","lr=0.01",")","''","gradient","updating","function","for","the","classifier","use_bias",":","bool",",","default","=","True","whether","to","use","bias","in","the","output","dense","layer","use_rp",":","bool",",","default","=","True","whether","to","use","random","projections","use_att",":","bool",",","default","=","True","whether","to","use","self","attention","use_lstm",":","bool",",","default","=","True","whether","to","use","an","LSTM","layer","use_cnn",":","bool",",","default","=","True","whether","to","use","a","CNN","layer","verbose",":","bool",",","default","=","False","whether","to","output","extra","information","random_state",":","int","or","None",",","default","=","None","seed","for","random","Attributes","--","--","--","--","--","n_classes",":","int","number","of","classes","extracted","from","the","data","References","--","--","--","--","--","..","[","1","]","Zhang","et","al",".","Tapnet",":","Multivariate","time","series","classification","with","attentional","prototypical","network",",","Proceedings","of","the","AAAI","Conference","on","Artificial","Intelligence","34","(","4",")",",","6845-6852",",","2020","Examples","--","--","--","--",">",">",">","from","sktime.classification.deep_learning.tapnet","import","TapNetClassifier",">",">",">","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","''",")",">",">",">","tapnet","=","TapNetClassifier","(","n_epochs=20",",","batch_size=4",")","#","doctest",":","+SKIP",">",">",">","tapnet.fit","(","X_train",",","y_train",")","#","doctest",":","+SKIP","TapNetClassifier","(","...",")"]
code: def __init__(
      self,
      n_epochs=2000,
      batch_size=16,
      dropout=0.5,
      filter_sizes=(256, 256, 128),
      kernel_size=(8, 5, 3),
      dilation=1,
      layers=(500, 300),
      use_rp=True,
      rp_params=(-1, 3),
      activation="sigmoid",
      use_bias=True,
      use_att=True,
      use_lstm=True,
      use_cnn=True,
      random_state=None,
      padding="same",
      loss="binary_crossentropy",
      optimizer=None,
      metrics=None,
      callbacks=None,
      verbose=False,
  ):
      _check_dl_dependencies(severity="error")
      super().__init__()
  
      self.batch_size = batch_size
      self.random_state = random_state
      self.kernel_size = kernel_size
      self.layers = layers
      self.rp_params = rp_params
      self.filter_sizes = filter_sizes
      self.activation = activation
      self.use_att = use_att
      self.use_bias = use_bias
  
      self.dilation = dilation
      self.padding = padding
      self.n_epochs = n_epochs
      self.loss = loss
      self.optimizer = optimizer
      self.metrics = metrics
      self.callbacks = callbacks
      self.verbose = verbose
  
      self.dropout = dropout
      self.use_lstm = use_lstm
      self.use_cnn = use_cnn
  
      # parameters for random projection
      self.use_rp = use_rp
      self.rp_params = rp_params
  
      self._network = TapNetNetwork(
          dropout=self.dropout,
          filter_sizes=self.filter_sizes,
          kernel_size=self.kernel_size,
          dilation=self.dilation,
          layers=self.layers,
          use_rp=self.use_rp,
          rp_params=self.rp_params,
          use_att=self.use_att,
          use_lstm=self.use_lstm,
          use_cnn=self.use_cnn,
          random_state=self.random_state,
          padding=self.padding,
      )
  
file_path: sktime/sktime/classification/deep_learning/tapnet.py
imports: from copy import deepcopy
  from sklearn.utils import check_random_state
  from sktime.classification.deep_learning.base import BaseDeepClassifier
  from sktime.networks.tapnet import TapNetNetwork
  from sktime.utils.validation._dependencies import _check_dl_dependencies
label_desc: Use image node_id 1 to create a new TapNetClassifier object from inherited base classes: BaseDeepClassifier with example: obj = TapNetClassifier(n_epochs, batch_size, dropout, filter_sizes, kernel_size, dilation, layers, use_rp, rp_params, activation, use_bias, use_att, use_lstm, use_cnn, random_state, padding, loss, optimizer, metrics, callbacks, verbose)