class_docstr: Kernel predictor for the location-variable convolutions
  
  Args:
          cond_channels (int): number of channel for the conditioning sequence,
          conv_in_channels (int): number of channel for the input sequence,
          conv_out_channels (int): number of channel for the output sequence,
          conv_layers (int): number of layers
class_docstr_tok: ["Kernel","predictor","for","the","location-variable","convolutions","Args",":","cond_channels","(","int",")",":","number","of","channel","for","the","conditioning","sequence",",","conv_in_channels","(","int",")",":","number","of","channel","for","the","input","sequence",",","conv_out_channels","(","int",")",":","number","of","channel","for","the","output","sequence",",","conv_layers","(","int",")",":","number","of","layers"]
docstr: Args:
      c (Tensor): the conditioning sequence (batch, cond_channels, cond_length)
docstr_tok: ["Args",":","c","(","Tensor",")",":","the","conditioning","sequence","(","batch",",","cond_channels",",","cond_length",")"]
code: def forward(self, c):
      """
      Args:
          c (Tensor): the conditioning sequence (batch, cond_channels, cond_length)
      """
      batch, _, cond_length = c.shape
      c = self.input_conv(c)
      for residual_conv in self.residual_convs:
          residual_conv.to(c.device)
          c = c + residual_conv(c)
      k = self.kernel_conv(c)
      b = self.bias_conv(c)
      kernels = k.contiguous().view(
          batch,
          self.conv_layers,
          self.conv_in_channels,
          self.conv_out_channels,
          self.conv_kernel_size,
          cond_length,
      )
      bias = b.contiguous().view(
          batch,
          self.conv_layers,
          self.conv_out_channels,
          cond_length,
      )
  
      return kernels, bias
  
imports: import torch.nn
  from torch.nn.utils import parametrize
label_desc: Use image node_id 2 for calling the KernelPredictor obj's underlying member method code with example usage: obj.forward(c) and returns: kernels,  bias