class_docstr: MINImally RandOm Convolutional KErnel Transform (MiniRocket) multivariate.
  
  MiniRocketMultivariate [1]_ is an almost deterministic version of Rocket. If creates
  convolutions of length of 9 with weights restricted to two values, and uses 84 fixed
  convolutions with six of one weight, three of the second weight to seed dilations.
  MiniRocketMultivariate works with univariate and multivariate time series.
  
  This transformer fits one set of paramereters per individual series,
  and applies the transform with fitted parameter i to the i-th series in transform.
  Vanilla use requires same number of series in fit and transform.
  
  To fit and transform series at the same time,
  without an identification of fit/transform instances,
  wrap this transformer in ``FitInTransform``,
  from ``sktime.transformations.compose``.
  
  Parameters
  ----------
  num_kernels : int, default=10,000
     number of random convolutional kernels.
  max_dilations_per_kernel : int, default=32
      maximum number of dilations per kernel.
  n_jobs : int, default=1
      The number of jobs to run in parallel for `transform`. ``-1`` means using all
      processors.
  random_state : None or int, default = None
  
  See Also
  --------
  MultiRocketMultivariate, MiniRocket, MiniRocketMultivariate, Rocket
  
  References
  ----------
  .. [1] Dempster, Angus and Schmidt, Daniel F and Webb, Geoffrey I,
      "MINIROCKET: A Very Fast (Almost) Deterministic Transform for Time Series
      Classification",2020,
      https://dl.acm.org/doi/abs/10.1145/3447548.3467231,
      https://arxiv.org/abs/2012.08791
  
  Examples
  --------
   >>> from sktime.transformations.panel.rocket import MiniRocketMultivariate
   >>> from sktime.datasets import load_basic_motions
   >>> X_train, y_train = load_basic_motions(split="train")
   >>> X_test, y_test = load_basic_motions(split="test") # doctest: +SKIP
   >>> trf = MiniRocketMultivariate(num_kernels=512) # doctest: +SKIP
   >>> trf.fit(X_train) # doctest: +SKIP
   MiniRocketMultivariate(...)
   >>> X_train = trf.transform(X_train) # doctest: +SKIP
   >>> X_test = trf.transform(X_test) # doctest: +SKIP
code: def __init__(
      self,
      num_kernels=10_000,
      max_dilations_per_kernel=32,
      n_jobs=1,
      random_state=None,
  ):
      self.num_kernels = num_kernels
      self.max_dilations_per_kernel = max_dilations_per_kernel
  
      self.n_jobs = n_jobs
      self.random_state = random_state
  
      if random_state is not None and not isinstance(random_state, int):
          raise ValueError(
              f"random_state in MiniRocketMultivariate must be int or None, "
              f"but found {type(random_state)}"
          )
      if isinstance(random_state, int):
          self.random_state_ = np.int32(random_state)
      else:
          self.random_state_ = random_state
  
      super().__init__()
  
file_path: sktime/sktime/transformations/panel/rocket/_minirocket_multivariate.py
imports: import multiprocessing
  import numpy
  import pandas
  from sktime.transformations.base import BaseTransformer
label_desc: Use image node_id 1 to create a new MiniRocketMultivariate object from inherited base classes: BaseTransformer with example: obj = MiniRocketMultivariate(num_kernels, max_dilations_per_kernel, n_jobs, random_state)