class_docstr: ``_TruncatedDataLoader`` 用于实现 ``Trainer`` 和 ``Evaluator`` 中的 '预跑' 和 '假跑' 功能：
  
      1. 预跑 是针对 trainer 的验证而言的，即我们在正式的训练前会先使用 trainer 内置的 evaluator（如果不为 None）评测数量非常少的数据，
      来检验用户的 metric 和 evaluate_dataloader 以及模型是否能够合作完成正确的评测过程；
      2. 假跑 的意思是改变每一个 epoch 中训练或者评测的实际的 batch 的数量，例如改成 10，来让模型快速地迭代整体的训练或者评测流程，来查看
      整体的过程的正确性；
  
  ``_TruncatedDataLoader`` 的实现也非常简单，我们在该类中内置一个计数器，当迭代器的迭代数量达到指定数值后 ``raise StopIteration``；
  
  :param dataloader: 可迭代的 dataloader 。
  :param num_batches: 迭代多少个 batch 就停止。
docstr: 为了在外部调用 `len` 方法时正确地返回当前会迭代的长度；
docstr_tok: ["\u4e3a\u4e86\u5728\u5916\u90e8\u8c03\u7528","`","len","`","\u65b9\u6cd5\u65f6\u6b63\u786e\u5730\u8fd4\u56de\u5f53\u524d\u4f1a\u8fed\u4ee3\u7684\u957f\u5ea6\uff1b"]
code: def __len__(self):
      r"""
      为了在外部调用 `len` 方法时正确地返回当前会迭代的长度；
      """
      return self._num_batches
  
imports: from typing import Dict
  from fastNLP.core.callbacks import CallbackManager
  from .state import TrainerState
  from fastNLP.core.utils.utils import _check_valid_parameters_number
label_desc: Use image node_id 2 for calling the _TruncatedDataLoader obj's underlying member method code with example usage: obj.__len__() and returns: self