diff --git a/fastNLP/io/__init__.py b/fastNLP/io/__init__.py index bf5c2c36..5234b209 100644 --- a/fastNLP/io/__init__.py +++ b/fastNLP/io/__init__.py @@ -3,9 +3,9 @@ 1. 用于读入 embedding 的 :doc:`EmbedLoader ` 类, -2. 用于读入不同格式数据的 :doc:`DataSetLoader ` 类 +2. 用于读入不同格式数据的 :doc:`Loader ` 类 -3. 用于读入不同数据集并进行预处理的 :doc:`DataLoader ` 类 +3. 用于处理读入数据的 :doc:`Pipe ` 类 4. 用于保存和载入模型的类, 参考 :doc:`model_io文档` diff --git a/fastNLP/io/file_utils.py b/fastNLP/io/file_utils.py index 8b5a0453..8b2d1c79 100644 --- a/fastNLP/io/file_utils.py +++ b/fastNLP/io/file_utils.py @@ -9,7 +9,7 @@ import shutil from requests import HTTPError PRETRAINED_BERT_MODEL_DIR = { - 'en': 'bert-large-cased-wwm.zip', + 'en': 'bert-base-cased.zip', 'en-large-cased-wwm': 'bert-large-cased-wwm.zip', 'en-large-uncased-wwm': 'bert-large-uncased-wwm.zip', @@ -30,7 +30,7 @@ PRETRAINED_BERT_MODEL_DIR = { } PRETRAINED_ELMO_MODEL_DIR = { - 'en': 'elmo_en_Medium.tar.gz', + 'en': 'elmo_en_Medium.zip', 'en-small': "elmo_en_Small.zip", 'en-original-5.5b': 'elmo_en_Original_5.5B.zip', 'en-original': 'elmo_en_Original.zip', diff --git a/fastNLP/io/loader/__init__.py b/fastNLP/io/loader/__init__.py index 5abef0eb..a4e6a6f5 100644 --- a/fastNLP/io/loader/__init__.py +++ b/fastNLP/io/loader/__init__.py @@ -1,38 +1,45 @@ """ Loader用于读取数据,并将内容读取到 :class:`~fastNLP.DataSet` 或者 :class:`~fastNLP.io.DataBundle` 中。所有的Loader都支持以下的 三个方法: ``__init__`` , ``_load`` , ``loads`` . 其中 ``__init__(...)`` 用于申明读取参数,以及说明该Loader支持的数据格式, -读取后 :class:`~fastNLP.Dataset` 中的 `field` ; ``_load(path)`` 方法传入文件路径读取单个文件,并返回 :class:`~fastNLP.Dataset` ; +读取后 :class:`~fastNLP.DataSet` 中的 `field` ; ``_load(path)`` 方法传入文件路径读取单个文件,并返回 :class:`~fastNLP.DataSet` ; ``load(paths)`` 用于读取文件夹下的文件,并返回 :class:`~fastNLP.io.DataBundle` 类型的对象 , load()方法支持以下几种类型的参数: 0.传入None 将尝试自动下载数据集并缓存。但不是所有的数据都可以直接下载。 -1.传入一个文件path - 返回的 data_bundle 包含一个名为 `train` 的 dataset ,可以通过 data_bundle.datasets['train']获取 +1.传入一个文件的 path + 返回的 `data_bundle` 包含一个名为 `train` 的 dataset ,可以通过 ``data_bundle.datasets['train']`` 获取 2.传入一个文件夹目录 - 将读取的是这个文件夹下文件名中包含'train', 'test', 'dev'的文件,其它文件会被忽略。假设某个目录下的文件为:: + 将读取的是这个文件夹下文件名中包含 `train` , `test` , `dev` 的文件,其它文件会被忽略。假设某个目录下的文件为:: - -train.txt - -dev.txt - -test.txt - -other.txt + | + +-train.txt + +-dev.txt + +-test.txt + +-other.txt - Loader().load('/path/to/dir')读取,返回的 data_bundle 中可以用 data_bundle.datasets['train'], data_bundle.datasets['dev'], - data_bundle.datasets['test'] 获取对应的DataSet,其中other.txt的内容会被忽略。假设某个目录下的文件为:: + 在 Loader().load('/path/to/dir') 返回的 `data_bundle` 中可以用 ``data_bundle.datasets['train']`` , ``data_bundle.datasets['dev']`` , + ``data_bundle.datasets['test']`` 获取对应的 `dataset` ,其中 `other.txt` 的内容会被忽略。假设某个目录下的文件为:: - -train.txt - -dev.txt + | + +-train.txt + +-dev.txt - Loader().load('/path/to/dir')读取,返回的 data_bundle 中可以用 data_bundle.datasets['train'], - data_bundle.datasets['dev'] 获取对应的DataSet。 + 在 Loader().load('/path/to/dir') 返回的 `data_bundle` 中可以用 ``data_bundle.datasets['train']`` , + ``data_bundle.datasets['dev']`` 获取对应的 dataset。 -3.传入一个dict - key为 dataset 的名称,value 是该 dataset 的文件路径:: +3.传入一个字典 + 字典的的 key 为 `dataset` 的名称,value 是该 `dataset` 的文件路径:: paths = {'train':'/path/to/train', 'dev': '/path/to/dev', 'test':'/path/to/test'} - Loader().load(paths) # 返回的data_bundle可以通过以下的方式获取相应的DataSet, data_bundle.datasets['train'], data_bundle.datasets['dev'], - data_bundle.datasets['test'] + + 在 Loader().load(paths) 返回的 `data_bundle` 中可以用 ``data_bundle.datasets['train']`` , ``data_bundle.datasets['dev']`` , + ``data_bundle.datasets['test']`` 来获取对应的 `dataset` + +fastNLP 目前提供了如下的 Loader + + """ diff --git a/fastNLP/io/pipe/__init__.py b/fastNLP/io/pipe/__init__.py index 6a5e6948..ad68f486 100644 --- a/fastNLP/io/pipe/__init__.py +++ b/fastNLP/io/pipe/__init__.py @@ -1,8 +1,10 @@ """ -Pipe用于处理数据,所有的Pipe都包含一个 process(data_bundle) 方法,传入一个 :class:`~fastNLP.io.DataBundle` 类型的对象, -在传入 data_bundle 上进行原位修改,并将其返回; process_from_file(paths) 传入的文件路径,返回一个 :class:`~fastNLP.io.DataBundle` 。 -process(data_bundle) 或者 process_from_file(paths)的返回 :class:`~fastNLP.io.DataBundle` 中的 :class:`~fastNLP.DataSet` - 一般都包含原文与转换为index的输入以及转换为index的target;除了 :class:`~fastNLP.DataSet` 之外,还会包含将field转为index时所建立的词表。 +Pipe用于处理通过 Loader 读取的数据,所有的 Pipe 都包含 ``process`` 和 ``process_from_file`` 两种方法。 +``process(data_bundle)`` 传入一个 :class:`~fastNLP.io.DataBundle` 类型的对象, 在传入的 `data_bundle` 上进行原位修改,并将其返回; +``process_from_file(paths)`` 传入的文件路径,返回一个 :class:`~fastNLP.io.DataBundle` 类型的对象。 +``process(data_bundle)`` 或者 ``process_from_file(paths)`` 的返回 `data_bundle` 中的 :class:`~fastNLP.DataSet` +一般都包含原文与转换为index的输入以及转换为index的target;除了 :class:`~fastNLP.DataSet` 之外, +`data_bundle` 还会包含将field转为index时所建立的词表。 """ __all__ = [