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 __repr__(self) -> str:
      _str = ""
      if len(self.datasets):
          _str += "In total {} datasets:\n".format(self.num_dataset)
          for name, dataset in self.datasets.items():
              _str += "\t{} has {} instances.\n".format(
                  name, len(dataset)
              )
      if len(self.vocabs):
          _str += "In total {} vocabs:\n".format(self.num_vocab)
          for name, vocab in self.vocabs.items():
              _str += "\t{} has {} entries.\n".format(name, len(vocab))
      return _str
  
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 27 for calling the DataBundle obj's underlying member method code with example usage: obj.__repr__() and returns: _str