class_docstr: HRM can well capture both sequential behavior and users’ general taste by involving transaction and
  user representations in prediction.
  
  HRM user max- & average- pooling as a good helper.
docstr: inverse the seq_item, like this
      [1,2,3,0,0,0,0] -- after inverse -->> [0,0,0,0,1,2,3]
docstr_tok: ["inverse","the","seq_item",",","like","this","[","1,2,3,0,0,0,0","]","--","after","inverse","--",">",">","[","0,0,0,0,1,2,3","]"]
code: def inverse_seq_item(self, seq_item, seq_item_len):
      """
      inverse the seq_item, like this
          [1,2,3,0,0,0,0] -- after inverse -->> [0,0,0,0,1,2,3]
      """
      seq_item = seq_item.cpu().numpy()
      seq_item_len = seq_item_len.cpu().numpy()
      new_seq_item = []
      for items, length in zip(seq_item, seq_item_len):
          item = list(items[:length])
          zeros = list(items[length:])
          seqs = zeros + item
          new_seq_item.append(seqs)
      seq_item = torch.tensor(
          new_seq_item, dtype=torch.long, device=self.device
      )
  
      return seq_item
  
file_path: RecBole/recbole/model/sequential_recommender/hrm.py
imports: import torch
  import torch.nn
  from torch.nn.init import xavier_normal_
  from recbole.model.abstract_recommender import SequentialRecommender
  from recbole.model.loss import BPRLoss
label_desc: Use image node_id 2 for calling the HRM obj's underlying member method code with example usage: obj.inverse_seq_item(seq_item, seq_item_len) and returns: seq_item