class_docstr: the location-variable convolutions
class_docstr_tok: ["the","location-variable","convolutions"]
docstr: forward propagation of the location-variable convolutions.
  Args:
      x (Tensor): the input sequence (batch, in_channels, in_length)
      c (Tensor): the conditioning sequence (batch, cond_channels, cond_length)
  
  Returns:
      Tensor: the output sequence (batch, in_channels, in_length)
docstr_tok: ["forward","propagation","of","the","location-variable","convolutions",".","Args",":","x","(","Tensor",")",":","the","input","sequence","(","batch",",","in_channels",",","in_length",")","c","(","Tensor",")",":","the","conditioning","sequence","(","batch",",","cond_channels",",","cond_length",")","Returns",":","Tensor",":","the","output","sequence","(","batch",",","in_channels",",","in_length",")"]
code: def forward(self, x, c):
      """forward propagation of the location-variable convolutions.
      Args:
          x (Tensor): the input sequence (batch, in_channels, in_length)
          c (Tensor): the conditioning sequence (batch, cond_channels, cond_length)
  
      Returns:
          Tensor: the output sequence (batch, in_channels, in_length)
      """
      in_channels = x.shape[1]
      kernels, bias = self.kernel_predictor(c)
  
      x = F.leaky_relu(x, 0.2)
      x = self.upsample(x)
  
      for i in range(self.conv_layers):
          y = F.leaky_relu(x, 0.2)
          y = self.convs[i](y)
          y = F.leaky_relu(y, 0.2)
  
          k = kernels[:, i, :, :, :, :]
          b = bias[:, i, :, :]
          y = self.location_variable_convolution(
              y, k, b, 1, self.cond_hop_length
          )
          x = x + torch.sigmoid(y[:, :in_channels, :]) * torch.tanh(
              y[:, in_channels:, :]
          )
      return x
  
file_path: TTS/TTS/vocoder/layers/lvc_block.py
imports: import torch
  import torch.nn.functional
label_desc: Use image node_id 2 for calling the LVCBlock obj's underlying member method code with example usage: obj.forward(x, c) and returns: x