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 就停止。
code: def __init__(self, dataloader, num_batches: int):
      self.dataloader = dataloader
      self._num_batches = min(num_batches, len(dataloader))
      self._count = 0
  
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 1 to create a new _TruncatedDataLoader object  with example: obj = _TruncatedDataLoader(dataloader, num_batches)