class_docstr: Model for enhancement based on Wide ResNet.
  
  Full model description at: https://arxiv.org/pdf/2112.06068.pdf
  
  Arguments
  ---------
  n_fft : int
      Number of points in the fourier transform, see ``speechbrain.processing.features.STFT``
  win_length : int
      Length of stft window in ms, see ``speechbrain.processing.features.STFT``
  hop_length : int
      Time between windows in ms, see ``speechbrain.processing.features.STFT``
  sample_rate : int
      Number of samples per second of input audio.
  channel_counts : list of ints
      Number of output channels in each CNN block. Determines number of blocks.
  dense_count : int
      Number of dense layers.
  dense_nodes : int
      Number of nodes in the dense layers.
  activation : function
      Function to apply before convolution layers.
  normalization : class
      Name of class to use for constructing norm layers.
  dropout : float
      Portion of layer outputs to drop during training (between 0 and 1).
  mask_weight : float
      Amount of weight to give mask. 0 - no masking, 1 - full masking.
  
  Example
  -------
  >>> inputs = torch.rand([10, 16000])
  >>> model = EnhanceResnet()
  >>> outputs, feats = model(inputs)
  >>> outputs.shape
  torch.Size([10, 15872])
  >>> feats.shape
  torch.Size([10, 63, 257])
docstr: Processes the input tensor and outputs the enhanced speech.
docstr_tok: ["Processes","the","input","tensor","and","outputs","the","enhanced","speech","."]
code: def forward(self, x):
      """Processes the input tensor and outputs the enhanced speech."""
  
      # Generate features
      noisy_spec = self.stft(x)
      log_mag = self.extract_feats(noisy_spec)
  
      # Generate mask
      mask = self.DNN(self.CNN(log_mag))
      mask = mask.clamp(min=0, max=1).unsqueeze(-1)
  
      # Apply mask
      masked_spec = self.mask_weight * mask * noisy_spec
      masked_spec += (1 - self.mask_weight) * noisy_spec
  
      # Extract feats for loss computation
      enhanced_features = self.extract_feats(masked_spec)
  
      # Return resynthesized waveform
      return self.istft(masked_spec), enhanced_features
  
file_path: speechbrain/speechbrain/lobes/models/EnhanceResnet.py
imports: import torch
  import speechbrain
  from speechbrain.processing.features import STFT, ISTFT, spectral_magnitude
label_desc: Use image node_id 2 for calling the EnhanceResnet obj's underlying member method code with example usage: obj.forward(x) and returns: self,  enhanced_features