class_docstr: Implementation of VGGish model :cite:`45611`.
docstr: Args:
      input (torch.Tensor): batch of spectrograms, with shape `(n_example, 1, n_frame, 64)`.
  
  Returns:
      torch.Tensor: model output, with shape `(n_example, 128)`.
docstr_tok: ["Args",":","input","(","torch.Tensor",")",":","batch","of","spectrograms",",","with","shape","`","(","n_example",",","1",",","n_frame",",","64",")","`",".","Returns",":","torch.Tensor",":","model","output",",","with","shape","`","(","n_example",",","128",")","`","."]
code: def forward(self, input: torch.Tensor) -> torch.Tensor:
      """
      Args:
          input (torch.Tensor): batch of spectrograms, with shape `(n_example, 1, n_frame, 64)`.
  
      Returns:
          torch.Tensor: model output, with shape `(n_example, 128)`.
      """
      x = self.features_network(input)
  
      x = x.permute(0, 2, 3, 1)
      x = x.reshape(x.size(0), -1)
  
      return self.embedding_network(x)
  
file_path: audio/src/torchaudio/prototype/pipelines/_vggish/_vggish_impl.py
imports: import math
  import torch
label_desc: Use image node_id 2 for calling the VGGish obj's underlying member method code with example usage: obj.forward(input) and returns: self