code: def forward(self, x):
      # UnivNet starts with Gaussian noise
      z = torch.randn(
          x.size(0),
          self.noise_dim,
          x.size(2),
          dtype=x.dtype,
          device=x.device,
      )
      z = self.conv_pre(z)  # (B, c_g, L)
  
      for res_block in self.res_stack:
          z = res_block(z, x)  # (B, c_g, L * s_0 * ... * s_i)
  
      z = self.conv_post(z)  # (B, 1, L * 256)
  
      return z
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from torch.nn import Conv2d
  from torch.nn.utils import remove_weight_norm, spectral_norm, weight_norm
  from nemo.core.classes.common import typecheck
  from nemo.core.classes.module import NeuralModule
  from nemo.core.neural_types.elements import AudioSignal, MelSpectrogramType, VoidType
  from nemo.core.neural_types.neural_type import NeuralType
label_desc: Use image node_id 4 for calling the Generator obj's underlying member method code with example usage: obj.forward(x) and returns: z