code: def output_types(self):
      if (
          self.mode == OperationMode.training
          or self.mode == OperationMode.validation
      ):
          return {
              "pred_normal_dist": NeuralType(
                  ("B", "flowgroup", "T"),
                  NormalDistributionSamplesType(),
              ),
              "log_s_list": [
                  NeuralType(("B", "flowgroup", "T"), VoidType())
              ],  # TODO: Figure out a good typing
              "log_det_W_list": [
                  NeuralType(elements_type=VoidType())
              ],  # TODO: Figure out a good typing
              "audio_pred": NeuralType(("B", "T"), AudioSignal()),
          }
      else:
          return {
              "audio": NeuralType(("B", "T"), AudioSignal()),
          }
  
file_path: NeMo/nemo/collections/tts/modules/waveglow.py
imports: from typing import Tuple
  import torch
  from nemo.collections.tts.modules.submodules import Invertible1x1Conv, WaveNet
  from nemo.collections.tts.parts.utils.helpers import OperationMode, remove, split_view
  from nemo.core.classes import Exportable, NeuralModule, typecheck
  from nemo.core.neural_types.elements import AudioSignal, IntType, MelSpectrogramType, NormalDistributionSamplesType, VoidType
  from nemo.core.neural_types.neural_type import NeuralType
label_desc: Use image node_id 5 for calling the WaveGlowModule obj's underlying member method code with example usage: obj.output_types() and returns: dict, dict