class_docstr: DMF is an neural network enhanced matrix factorization model.
  The original interaction matrix of :math:`n_{users} \times n_{items}` is set as model input,
  we carefully design the data interface and use sparse tensor to train and test efficiently.
  We just implement the model following the original author with a pointwise training mode.
  
  Note:
  
      Our implementation is a improved version which is different from the original paper.
      For a better performance and stability, we replace cosine similarity to inner-product when calculate
      final score of user's and item's embedding.
class_docstr_tok: ["DMF","is","an","neural","network","enhanced","matrix","factorization","model",".","The","original","interaction","matrix","of",":","math",":","`","n_","{","users","}","\\times","n_","{","items","}","`","is","set","as","model","input",",","we","carefully","design","the","data","interface","and","use","sparse","tensor","to","train","and","test","efficiently",".","We","just","implement","the","model","following","the","original","author","with","a","pointwise","training","mode",".","Note",":","Our","implementation","is","a","improved","version","which","is","different","from","the","original","paper",".","For","a","better","performance","and","stability",",","we","replace","cosine","similarity","to","inner-product","when","calculate","final","score","of","user","'s","and","item","'s","embedding","."]
code: def _init_weights(self, module):
      # We just initialize the module with normal distribution as the paper said
      if isinstance(module, nn.Linear):
          normal_(module.weight.data, 0, 0.01)
          if module.bias is not None:
              module.bias.data.fill_(0.0)
      elif isinstance(module, nn.Embedding):
          normal_(module.weight.data, 0, 0.01)
  
file_path: RecBole/recbole/model/general_recommender/dmf.py
imports: import numpy
  import torch
  import torch.nn
  from torch.nn.init import normal_
  from recbole.model.abstract_recommender import GeneralRecommender
  from recbole.model.layers import MLPLayers
  from recbole.utils import InputType
label_desc: Use image node_id 2 for calling the DMF obj's underlying member method code with example usage: obj._init_weights(module) without return types