class_docstr: Bi-linear decoder
  BiDecoder takes pairs of node embeddings and predicts respective entries in the adjacency matrix.
class_docstr_tok: ["Bi-linear","decoder","BiDecoder","takes","pairs","of","node","embeddings","and","predicts","respective","entries","in","the","adjacency","matrix","."]
code: def _init_weights(self):
      dense_init_range = math.sqrt(
          self.output_dim / (self.num_weights + self.output_dim)
      )
      self.dense_layer.weight.data.uniform_(
          -dense_init_range, dense_init_range
      )
  
imports: import math
  import numpy
  import scipy.sparse
  import torch
  import torch.nn
  from recbole.model.abstract_recommender import GeneralRecommender
  from recbole.model.layers import SparseDropout
  from recbole.utils import InputType
label_desc: Use image node_id 2 for calling the BiDecoder obj's underlying member method code with example usage: obj._init_weights() without return types