class_docstr: Simple LSTM for enhancement with custom initialization.
  
  Arguments
  ---------
  input_size : int
      Size of the input tensor's last dimension.
  hidden_size : int
      Number of neurons to use in the LSTM layers.
  num_layers : int
      Number of layers to use in the LSTM.
  lin_dim: int
      Number of neurons in the last two linear layers.
  dropout : int
      Fraction of neurons to drop during training.
  
  Example
  -------
  >>> inputs = torch.rand([10, 100, 40])
  >>> model = EnhancementGenerator(input_size=40, hidden_size=50)
  >>> outputs = model(inputs, lengths=torch.ones([10]))
  >>> outputs.shape
  torch.Size([10, 100, 40])
class_docstr_tok: ["Simple","LSTM","for","enhancement","with","custom","initialization",".","Arguments","--","--","--","--","-","input_size",":","int","Size","of","the","input","tensor","'s","last","dimension",".","hidden_size",":","int","Number","of","neurons","to","use","in","the","LSTM","layers",".","num_layers",":","int","Number","of","layers","to","use","in","the","LSTM",".","lin_dim",":","int","Number","of","neurons","in","the","last","two","linear","layers",".","dropout",":","int","Fraction","of","neurons","to","drop","during","training",".","Example","--","--","--","-",">",">",">","inputs","=","torch.rand","(","[","10",",","100",",","40","]",")",">",">",">","model","=","EnhancementGenerator","(","input_size=40",",","hidden_size=50",")",">",">",">","outputs","=","model","(","inputs",",","lengths=torch.ones","(","[","10","]",")",")",">",">",">","outputs.shape","torch.Size","(","[","10",",","100",",","40","]",")"]
docstr: Processes the input tensor x and returns an output tensor.
docstr_tok: ["Processes","the","input","tensor","x","and","returns","an","output","tensor","."]
code: def forward(self, x, lengths):
      """Processes the input tensor x and returns an output tensor."""
      out, _ = self.blstm(x, lengths=lengths)
  
      out = self.linear1(out)
      out = self.activation(out)
  
      out = self.linear2(out)
      out = self.sigmoid(out)
  
      return out
  
file_path: speechbrain/speechbrain/lobes/models/MetricGAN_U.py
imports: import torch
  import speechbrain
  from torch import nn
  from torch.nn.utils import spectral_norm
label_desc: Use image node_id 2 for calling the EnhancementGenerator obj's underlying member method code with example usage: obj.forward(x, lengths) and returns: out