class_docstr: ``EvaluateBatchLoop`` 针对一个 dataloader 的数据完成一个 epoch 的评测迭代过程；
  
  :param batch_step_fn: 您可以传入该参数来替换默认的 ``bath_step_fn``；
docstr: 针对一个 ``batch`` 的数据的评测过程；
  
  :param evaluator: :class:`~fastNLP.core.controllers.Evaluator` 对象
  :param batch: 当前需要评测的一个 ``batch`` 的数据；
code: def batch_step_fn(evaluator, batch):
      r"""
      针对一个 ``batch`` 的数据的评测过程；
  
      :param evaluator: :class:`~fastNLP.core.controllers.Evaluator` 对象
      :param batch: 当前需要评测的一个 ``batch`` 的数据；
      """
      outputs = evaluator.evaluate_step(batch)  # 将batch输入到model中得到结果
      evaluator.update(batch, outputs)
  
file_path: fastNLP/fastNLP/core/controllers/loops/evaluate_batch_loop.py
imports: from typing import Optional, Callable, Dict
  from .loop import Loop
  from fastNLP.core.log import logger
  from fastNLP.core.utils import match_and_substitute_params
label_desc: Use image node_id 3 for calling the EvaluateBatchLoop obj's underlying member method code with example usage: obj.batch_step_fn(evaluator, batch) without return types