code: def forward(self, obj_idx):
      hypo_params = self.hypo_params(obj_idx)
  
      # Indices explicit to catch erros in shape of output layer
      weights = hypo_params[..., : self.in_ch * self.out_ch]
      biases = hypo_params[
          ...,
          self.in_ch * self.out_ch : (self.in_ch * self.out_ch)
          + self.out_ch,
      ]
  
      biases = biases.view(*(biases.size()[:-1]), 1, self.out_ch)
      weights = weights.view(
          *(weights.size()[:-1]), self.out_ch, self.in_ch
      )
  
      return BatchLinear(weights=weights, biases=biases)
  
imports: import functools
  import torch
  import torch.nn
  from .None import pytorch_prototyping
label_desc: Use image node_id 2 for calling the LookupLinear obj's underlying member method code with example usage: obj.forward(obj_idx) and returns: BatchLinear