class_docstr: 经过处理的数据信息，包括一系列数据集（比如：分开的训练集、验证集和测试集）以及各个 field 对应的 vocabulary。该对象一般由
  **fastNLP** 中各种 :class:`~fastNLP.io.loader.Loader` 的 :meth:`load` 函数生成，可以通过以下的方法获取里面的内容::
  
      data_bundle = YelpLoader().load({'train':'/path/to/train', 'dev': '/path/to/dev'})
      train_vocabs = data_bundle.vocabs['train']
      train_data = data_bundle.datasets['train']
      dev_data = data_bundle.datasets['train']
  
  :param vocabs: 从名称（字符串）到 :class:`~fastNLP.core.Vocabulary` 类型的字典
  :param datasets: 从名称（字符串）到 :class:`~fastNLP.core.dataset.DataSet` 类型的字典。建议不要将相同的 ``DataSet`` 对象重复传入，
      否则可能会在使用 :class:`~fastNLP.io.pipe.Pipe` 处理数据的时候遇到问题，若多个数据集确需一致，请手动 ``deepcopy`` 后传入。
code: def num_vocab(self):
      return len(self.vocabs)
  
imports: from typing import Union, List, Callable, Dict
  from ..core.dataset import DataSet
  from fastNLP.core.vocabulary import Vocabulary
  from fastNLP.core import logger
label_desc: Use image node_id 11 for calling the DataBundle obj's underlying member method code with example usage: obj.num_vocab() and returns: len