class_docstr: This class implements the last MLP on the top of xvector features.
  Arguments
  ---------
  input_shape : tuple
      Expected shape of an example input.
  activation : torch class
      A class for constructing the activation layers.
  lin_blocks : int
      Number of linear layers.
  lin_neurons : int
      Number of neurons in linear layers.
  out_neurons : int
      Number of output neurons.
  
  Example
  -------
  >>> input_feats = torch.rand([5, 10, 40])
  >>> compute_xvect = Xvector()
  >>> xvects = compute_xvect(input_feats)
  >>> classify = Classifier(input_shape=xvects.shape)
  >>> output = classify(xvects)
  >>> output.shape
  torch.Size([5, 1, 1211])
code: def __init__(
      self,
      input_shape,
      activation=torch.nn.LeakyReLU,
      lin_blocks=1,
      lin_neurons=512,
      out_neurons=1211,
  ):
      super().__init__(input_shape=input_shape)
  
      self.append(activation(), layer_name="act")
      self.append(sb.nnet.normalization.BatchNorm1d, layer_name="norm")
  
      if lin_blocks > 0:
          self.append(sb.nnet.containers.Sequential, layer_name="DNN")
  
      # Adding fully-connected layers
      for block_index in range(lin_blocks):
          block_name = f"block_{block_index}"
          self.DNN.append(
              sb.nnet.containers.Sequential, layer_name=block_name
          )
          self.DNN[block_name].append(
              sb.nnet.linear.Linear,
              n_neurons=lin_neurons,
              bias=True,
              layer_name="linear",
          )
          self.DNN[block_name].append(activation(), layer_name="act")
          self.DNN[block_name].append(
              sb.nnet.normalization.BatchNorm1d, layer_name="norm"
          )
  
      # Final Softmax classifier
      self.append(
          sb.nnet.linear.Linear, n_neurons=out_neurons, layer_name="out"
      )
      self.append(
          sb.nnet.activations.Softmax(apply_log=True),
          layer_name="softmax",
      )
  
file_path: speechbrain/templates/speaker_id/custom_model.py
imports: import torch
  import torch.nn
  import speechbrain
  from speechbrain.nnet.pooling import StatisticsPooling
  from speechbrain.nnet.CNN import Conv1d
  from speechbrain.nnet.linear import Linear
  from speechbrain.nnet.normalization import BatchNorm1d
label_desc: Use image node_id 1 to create a new Classifier object from inherited base classes: sb.nnet.containers with example: obj = Classifier(input_shape, activation, lin_blocks, lin_neurons, out_neurons)