class_docstr: A bilinear module that deals with broadcasting for efficient memory usage.
  Input: tensors of sizes (N x L1 x D1) and (N x L2 x D2)
  Output: tensor of size (N x L1 x L2 x O)
class_docstr_tok: ["A","bilinear","module","that","deals","with","broadcasting","for","efficient","memory","usage",".","Input",":","tensors","of","sizes","(","N","x","L1","x","D1",")","and","(","N","x","L2","x","D2",")","Output",":","tensor","of","size","(","N","x","L1","x","L2","x","O",")"]
code: def __init__(self, input1_size, input2_size, output_size, bias=True):
      super().__init__()
  
      self.input1_size = input1_size
      self.input2_size = input2_size
      self.output_size = output_size
  
      self.weight = nn.Parameter(
          torch.Tensor(input1_size, input2_size, output_size)
      )
      self.bias = nn.Parameter(torch.Tensor(output_size)) if bias else 0
  
file_path: stanza/stanza/models/common/biaffine.py
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new PairwiseBilinear object from inherited base classes: nn with example: obj = PairwiseBilinear(input1_size, input2_size, output_size, bias)