class_docstr: FOSSIL uses similarity of the items as main purpose and uses high MC as a way of sequential preference improve of
  ability of sequential recommendation
class_docstr_tok: ["FOSSIL","uses","similarity","of","the","items","as","main","purpose","and","uses","high","MC","as","a","way","of","sequential","preference","improve","of","ability","of","sequential","recommendation"]
docstr: inverse seq_item_embedding like this (simple to 2-dim):
  
  [1,2,3,0,0,0] -- ??? -- >> [0,0,0,1,2,3]
  
  first: [0,0,0,0,0,0] concat [1,2,3,0,0,0]
  
  using gather_indexes: to get one by one
  
  first get 3,then 2,last 1
docstr_tok: ["inverse","seq_item_embedding","like","this","(","simple","to","2-dim",")",":","[","1,2,3,0,0,0","]","--","?","?","?","--",">",">","[","0,0,0,1,2,3","]","first",":","[","0,0,0,0,0,0","]","concat","[","1,2,3,0,0,0","]","using","gather_indexes",":","to","get","one","by","one","first","get","3",",","then","2",",","last","1"]
code: def inverse_seq_item_embedding(
      self, seq_item_embedding, seq_item_len
  ):
      """
      inverse seq_item_embedding like this (simple to 2-dim):
  
      [1,2,3,0,0,0] -- ??? -- >> [0,0,0,1,2,3]
  
      first: [0,0,0,0,0,0] concat [1,2,3,0,0,0]
  
      using gather_indexes: to get one by one
  
      first get 3,then 2,last 1
      """
      zeros = torch.zeros_like(
          seq_item_embedding, dtype=torch.float
      ).to(self.device)
      # batch_size * seq_len * embedding_size
      item_embedding_zeros = torch.cat(
          [zeros, seq_item_embedding], dim=1
      )
      # batch_size * 2_mul_seq_len * embedding_size
      embedding_list = list()
      for i in range(self.order_len):
          embedding = self.gather_indexes(
              item_embedding_zeros,
              self.max_seq_length + seq_item_len - self.order_len + i,
          )
          embedding_list.append(embedding.unsqueeze(1))
      short_item_embedding = torch.cat(embedding_list, dim=1)
      # batch_size * short_len * embedding_size
  
      return short_item_embedding
  
file_path: RecBole/recbole/model/sequential_recommender/fossil.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 FOSSIL obj's underlying member method code with example usage: obj.inverse_seq_item_embedding(seq_item_embedding, seq_item_len) and returns: short_item_embedding