class_docstr: :class:`RepeatableSampler` is used to sample negative items for each input user. The difference from
  :class:`Sampler` is it can only sampling the items that have not appeared at all phases.
  
  Args:
      phases (str or list of str): All the phases of input.
      dataset (Dataset): The union of all datasets for each phase.
      distribution (str, optional): Distribution of the negative items. Defaults to 'uniform'.
  
  Attributes:
      phase (str): the phase of sampler. It will not be set until :meth:`set_phase` is called.
class_docstr_tok: [":","class",":","`","RepeatableSampler","`","is","used","to","sample","negative","items","for","each","input","user",".","The","difference","from",":","class",":","`","Sampler","`","is","it","can","only","sampling","the","items","that","have","not","appeared","at","all","phases",".","Args",":","phases","(","str","or","list","of","str",")",":","All","the","phases","of","input",".","dataset","(","Dataset",")",":","The","union","of","all","datasets","for","each","phase",".","distribution","(","str",",","optional",")",":","Distribution","of","the","negative","items",".","Defaults","to","'uniform","'",".","Attributes",":","phase","(","str",")",":","the","phase","of","sampler",".","It","will","not","be","set","until",":","meth",":","`","set_phase","`","is","called","."]
code: def _get_candidates_list(self):
      return list(self.dataset.inter_feat[self.iid_field].numpy())
  
imports: import copy
  import numpy
  from numpy.random import sample
  import torch
  from collections import Counter
label_desc: Use image node_id 3 for calling the RepeatableSampler obj's underlying member method code with example usage: obj._get_candidates_list() and returns: list