class_docstr: **可复现**的 BatchSampler 对象。
  
  注意所有继承 :class:`ReproducibleBatchSampler` 的类的 :meth:`__init__` 方法中都需要加入参数 `**kwargs`，用来使我们再断点重训时重新实例化这个 BatchSampler
  注意，所有 :meth:`__init__` 中初始化的变量，都不能含有 ``_`` 下横线作为开头；所有不在 :meth:`__init__` 中设置的变量都必须以下横线开头。
class_docstr_tok: ["*","*","\u53ef\u590d\u73b0","*","*","\u7684","BatchSampler","\u5bf9\u8c61\u3002","\u6ce8\u610f\u6240\u6709\u7ee7\u627f",":","class",":","`","ReproducibleBatchSampler","`","\u7684\u7c7b\u7684",":","meth",":","`","__init__","`","\u65b9\u6cd5\u4e2d\u90fd\u9700\u8981\u52a0\u5165\u53c2\u6570","`","*","*","kwargs","`","\uff0c\u7528\u6765\u4f7f\u6211\u4eec\u518d\u65ad\u70b9\u91cd\u8bad\u65f6\u91cd\u65b0\u5b9e\u4f8b\u5316\u8fd9\u4e2a","BatchSampler","\u6ce8\u610f\uff0c\u6240\u6709",":","meth",":","`","__init__","`","\u4e2d\u521d\u59cb\u5316\u7684\u53d8\u91cf\uff0c\u90fd\u4e0d\u80fd\u542b\u6709","``","_","``","\u4e0b\u6a2a\u7ebf\u4f5c\u4e3a\u5f00\u5934\uff1b\u6240\u6709\u4e0d\u5728",":","meth",":","`","__init__","`","\u4e2d\u8bbe\u7f6e\u7684\u53d8\u91cf\u90fd\u5fc5\u987b\u4ee5\u4e0b\u6a2a\u7ebf\u5f00\u5934\u3002"]
docstr: :return:
docstr_tok: [":","return",":"]
code: def state_dict(self):
      """
  
      :return:
      """
      raise NotImplementedError(
          "Each specific batch_sampler should implement its own `state_dict` method."
      )
  
imports: import os
  import math
  from copy import deepcopy
  from typing import Dict, Union, List
  from itertools import chain
  import numpy
  from fastNLP.core.dataset import DataSet
  from fastNLP.core.log import logger
  from .utils import create_array
  from abc import abstractmethod
label_desc: Use image node_id 5 for calling the ReproducibleBatchSampler obj's underlying member method code with example usage: obj.state_dict() without return types