code: def test_wavegrad_forward():
      x = torch.rand(32, 1, 20 * 300)
      c = torch.rand(32, 80, 20)
      noise_scale = torch.rand(32)
  
      model = Wavegrad(
          in_channels=80,
          out_channels=1,
          upsample_factors=[5, 5, 3, 2, 2],
          upsample_dilations=[
              [1, 2, 1, 2],
              [1, 2, 1, 2],
              [1, 2, 4, 8],
              [1, 2, 4, 8],
              [1, 2, 4, 8],
          ],
      )
      o = model.forward(x, c, noise_scale)
  
      assert o.shape[0] == 32
      assert o.shape[1] == 1
      assert o.shape[2] == 20 * 300
      assert isinstance(o, torch.FloatTensor)
  
      model.apply_weight_norm()
      model.remove_weight_norm()
  
file_path: TTS/tests/test_wavegrad_layers.py
imports: import torch
  from TTS.vocoder.layers.wavegrad import PositionalEncoding, FiLM, UBlock, DBlock
  from TTS.vocoder.models.wavegrad import Wavegrad
label_desc: Use image node_id 5 for calling a global function with example usage: test_wavegrad_forward() without return types