class_docstr: Biaffine Dependency Parser 的子模块, 用于构建预测边类别的图
class_docstr_tok: ["Biaffine","Dependency","Parser","\u7684\u5b50\u6a21\u5757",",","\u7528\u4e8e\u6784\u5efa\u9884\u6d4b\u8fb9\u7c7b\u522b\u7684\u56fe"]
docstr: :param x1: [batch, seq_len, hidden] 输入特征1, 即label-head
  :param x2: [batch, seq_len, hidden] 输入特征2, 即label-dep
  :return output: [batch, seq_len, num_cls] 每个元素对应类别的概率图
docstr_tok: [":","param","x1",":","[","batch",",","seq_len",",","hidden","]","\u8f93\u5165\u7279\u5f811",",","\u5373label-head",":","param","x2",":","[","batch",",","seq_len",",","hidden","]","\u8f93\u5165\u7279\u5f812",",","\u5373label-dep",":","return","output",":","[","batch",",","seq_len",",","num_cls","]","\u6bcf\u4e2a\u5143\u7d20\u5bf9\u5e94\u7c7b\u522b\u7684\u6982\u7387\u56fe"]
code: def forward(self, x1, x2):
      r"""
  
      :param x1: [batch, seq_len, hidden] 输入特征1, 即label-head
      :param x2: [batch, seq_len, hidden] 输入特征2, 即label-dep
      :return output: [batch, seq_len, num_cls] 每个元素对应类别的概率图
      """
      output = self.bilinear(x1, x2)
      output = output + self.lin(torch.cat([x1, x2], dim=2))
      return output
  
imports: from collections import defaultdict
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from ...core.utils import seq_len_to_mask
  from ...embeddings.torch.utils import get_embeddings
  from ...modules.torch.dropout import TimestepDropout
  from ...modules.torch.encoder.transformer import TransformerEncoder
  from ...modules.torch.encoder.variational_rnn import VarLSTM
label_desc: Use image node_id 2 for calling the LabelBilinear obj's underlying member method code with example usage: obj.forward(x1, x2) and returns: output