class_docstr: SHAN exploit the Hierarchical Attention Network to get the long-short term preference
  first get the long term purpose and then fuse the long-term with recent items to get long-short term purpose
class_docstr_tok: ["SHAN","exploit","the","Hierarchical","Attention","Network","to","get","the","long-short","term","preference","first","get","the","long","term","purpose","and","then","fuse","the","long-term","with","recent","items","to","get","long-short","term","purpose"]
code: def init_weights(self, module):
      if isinstance(module, nn.Embedding):
          normal_(module.weight.data, 0.0, 0.01)
      elif isinstance(module, nn.Linear):
          uniform_(
              module.weight.data,
              -np.sqrt(3 / self.embedding_size),
              np.sqrt(3 / self.embedding_size),
          )
      elif isinstance(module, nn.Parameter):
          uniform_(
              module.data,
              -np.sqrt(3 / self.embedding_size),
              np.sqrt(3 / self.embedding_size),
          )
          print(module.data)
  
file_path: RecBole/recbole/model/sequential_recommender/shan.py
imports: import numpy
  import torch
  import torch.nn
  from torch.nn.init import normal_, uniform_
  from recbole.model.abstract_recommender import SequentialRecommender
  from recbole.model.loss import BPRLoss
label_desc: Use image node_id 3 for calling the SHAN obj's underlying member method code with example usage: obj.init_weights(module) without return types