class_docstr: This class implements the cosine similarity on the top of features.
  
  Arguments
  ---------
  device : str
      Device used, e.g., "cpu" or "cuda".
  lin_blocks : int
      Number of linear layers.
  lin_neurons : int
      Number of neurons in linear layers.
  out_neurons : int
      Number of classes.
  
  Example
  -------
  >>> classify = Classifier(input_size=2, lin_neurons=2, out_neurons=2)
  >>> outputs = torch.tensor([ [1., -1.], [-9., 1.], [0.9, 0.1], [0.1, 0.9] ])
  >>> outputs = outputs.unsqueeze(1)
  >>> cos = classify(outputs)
  >>> (cos < -1.0).long().sum()
  tensor(0)
  >>> (cos > 1.0).long().sum()
  tensor(0)
docstr: Returns the output probabilities over speakers.
  
  Arguments
  ---------
  x : torch.Tensor
      Torch tensor.
docstr_tok: ["Returns","the","output","probabilities","over","speakers",".","Arguments","--","--","--","--","-","x",":","torch.Tensor","Torch","tensor","."]
code: def forward(self, x):
      """Returns the output probabilities over speakers.
  
      Arguments
      ---------
      x : torch.Tensor
          Torch tensor.
      """
      for layer in self.blocks:
          x = layer(x)
  
      # Need to be normalized
      x = F.linear(F.normalize(x.squeeze(1)), F.normalize(self.weight))
      return x.unsqueeze(1)
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  from speechbrain.nnet.normalization import BatchNorm1d
  from speechbrain.nnet.linear import Linear
label_desc: Use image node_id 2 for calling the Classifier obj's underlying member method code with example usage: obj.forward(x) and returns: x