class_docstr: 考虑在多卡 evaluate 的场景下，不能重复采样。
  
  :param dataset: 实现了 __len__ 方法的数据容器
  :param shuffle: 如果为 ``True``，将不进行 shuffle，实际上数据会以从长到短的方式输出
  :param seed: 设置的随机数种子
  :param kwargs: fastNLP 内部使用的参数
class_docstr_tok: ["\u8003\u8651\u5728\u591a\u5361","evaluate","\u7684\u573a\u666f\u4e0b\uff0c\u4e0d\u80fd\u91cd\u590d\u91c7\u6837\u3002",":","param","dataset",":","\u5b9e\u73b0\u4e86","__len__","\u65b9\u6cd5\u7684\u6570\u636e\u5bb9\u5668",":","param","shuffle",":","\u5982\u679c\u4e3a","``","True","``","\uff0c\u5c06\u4e0d\u8fdb\u884c","shuffle\uff0c\u5b9e\u9645\u4e0a\u6570\u636e\u4f1a\u4ee5\u4ece\u957f\u5230\u77ed\u7684\u65b9\u5f0f\u8f93\u51fa",":","param","seed",":","\u8bbe\u7f6e\u7684\u968f\u673a\u6570\u79cd\u5b50",":","param","kwargs",":","fastNLP","\u5185\u90e8\u4f7f\u7528\u7684\u53c2\u6570"]
code: def __init__(
      self, dataset, shuffle: bool = False, seed: int = 0, **kwargs
  ):
      self.dataset = dataset
      self.shuffle = shuffle
      self.seed = int(seed)
  
      # 多卡的相关的参数
      self.num_replicas = kwargs.get("num_replicas", 1)
      self.rank = kwargs.get("rank", 0)
      self.epoch = kwargs.get("epoch", -1)
  
imports: from typing import List, Union
  from fastNLP.core.dataset import DataSet
  import numpy
label_desc: Use image node_id 1 to create a new UnrepeatedRandomSampler object from inherited base classes: UnrepeatedSampler with example: obj = UnrepeatedRandomSampler(dataset, shuffle, seed)