class_docstr: Parallel WaveGAN Generator module.
docstr: Perform inference.
  
  Args:
      c (Tensor): Local conditioning auxiliary features (T_feats ,C).
      z (Optional[Tensor]): Input noise signal (T_wav, 1).
  
  Returns:
      Tensor: Output tensor (T_wav, out_channels)
docstr_tok: ["Perform","inference",".","Args",":","c","(","Tensor",")",":","Local","conditioning","auxiliary","features","(","T_feats",",","C",")",".","z","(","Optional","[","Tensor","]",")",":","Input","noise","signal","(","T_wav",",","1",")",".","Returns",":","Tensor",":","Output","tensor","(","T_wav",",","out_channels",")"]
code: def inference(
      self, c: torch.Tensor, z: Optional[torch.Tensor] = None
  ) -> torch.Tensor:
      """Perform inference.
  
      Args:
          c (Tensor): Local conditioning auxiliary features (T_feats ,C).
          z (Optional[Tensor]): Input noise signal (T_wav, 1).
  
      Returns:
          Tensor: Output tensor (T_wav, out_channels)
  
      """
      if z is not None:
          z = z.transpose(1, 0).unsqueeze(0)
      c = c.transpose(1, 0).unsqueeze(0)
      return self.forward(c, z).squeeze(0).transpose(1, 0)
  
imports: import logging
  import math
  from typing import Any, Dict, Optional
  import numpy
  import torch
  from espnet2.gan_tts.parallel_wavegan import upsample
  from espnet2.gan_tts.wavenet.residual_block import Conv1d, Conv1d1x1, ResidualBlock
label_desc: Use image node_id 7 for calling the ParallelWaveGANGenerator obj's underlying member method code with example usage: obj.inference(c, z) and returns: self