class_docstr: Computes attention between two matrices using a bilinear attention function.  This function has
  a matrix of weights ``W`` and a bias ``b``, and the similarity between the two matrices ``X``
  and ``Y`` is computed as ``X W Y^T + b``.
  
  Parameters
  ----------
  matrix_1_dim : ``int``
      The dimension of the matrix ``X``, described above.  This is ``X.size()[-1]`` - the length
      of the vector that will go into the similarity computation.  We need this so we can build
      the weight matrix correctly.
  matrix_2_dim : ``int``
      The dimension of the matrix ``Y``, described above.  This is ``Y.size()[-1]`` - the length
      of the vector that will go into the similarity computation.  We need this so we can build
      the weight matrix correctly.
  activation : ``Activation``, optional (default=linear (i.e. no activation))
      An activation function applied after the ``X W Y^T + b`` calculation.  Default is no
      activation.
  use_input_biases : ``bool``, optional (default = False)
      If True, we add biases to the inputs such that the final computation
      is equivelent to the original bilinear matrix multiplication plus a
      projection of both inputs.
code: def forward(self, matrix_1, matrix_2):
      if self._use_input_biases:
          bias1 = matrix_1.new_ones(matrix_1.size()[:-1] + (1,))
          bias2 = matrix_2.new_ones(matrix_2.size()[:-1] + (1,))
  
          matrix_1 = torch.cat([matrix_1, bias1], -1)
          matrix_2 = torch.cat([matrix_2, bias2], -1)
      intermediate = torch.matmul(
          matrix_1.unsqueeze(1), self._weight_matrix.unsqueeze(0)
      )
      final = torch.matmul(
          intermediate, matrix_2.unsqueeze(1).transpose(2, 3)
      )
      return self._activation(final.squeeze(1) + self._bias)
  
file_path: magnitude/pymagnitude/third_party/allennlp/modules/matrix_attention/bilinear_matrix_attention.py
imports: from __future__ import absolute_import
  import torch
  from torch.nn.parameter import Parameter
  from allennlp.modules.matrix_attention.matrix_attention import MatrixAttention
  from allennlp.nn import Activation
label_desc: Use image node_id 3 for calling the BilinearMatrixAttention obj's underlying member method code with example usage: obj.forward(matrix_1, matrix_2) and returns: self