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  # (B, c_g, L')
  
      x = self.convt_pre(x)  # (B, c_g, stride * L')
      kernels, bias = self.kernel_predictor(c)
  
      for i, conv in enumerate(self.conv_blocks):
          output = conv(x)  # (B, c_g, stride * L')
  
          k = kernels[
              :, i, :, :, :, :
          ]  # (B, 2 * c_g, c_g, kernel_size, cond_length)
          b = bias[:, i, :, :]  # (B, 2 * c_g, cond_length)
  
          output = self.location_variable_convolution(
              output, k, b, hop_size=self.cond_hop_length
          )  # (B, 2 * c_g, stride * L'): LVC
          x = x + torch.sigmoid(
              output[:, :in_channels, :]
          ) * torch.tanh(
              output[:, in_channels:, :]
          )  # (B, c_g, stride * L'): GAU
  
      return x
  
imports: from dataclasses import dataclass
  from enum import Enum
  from typing import Callable, Optional
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.nn.utils.parametrize
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