torchtext.datasets¶
警告
torchtext 支持的数据集是来自 torchdata 的数据管道
项目,该项目仍处于 Beta 阶段
地位。这意味着 API 可以更改而不会被弃用
周期。特别是,我们预计当前的许多习语会随着
FROM 的最终发布。DataLoaderV2
torchdata
以下是有关使用 datapipes 的一些建议:
要对数据管道进行随机排序,请在 DataLoader 中执行此操作:。 您无需调用 ,因为 has 已经为你做了。但请注意,datapipe 不会是 shuffled,除非您明确传递给 DataLoader。
DataLoader(dp, shuffle=True)
dp.shuffle()
torchtext
shuffle=True
使用多进程 () 时,请使用内置的 :
num_workers=N
worker_init_fn
from torch.utils.data.backward_compatibility import worker_init_fn DataLoader(dp, num_workers=4, worker_init_fn=worker_init_fn, drop_last=True)
这将确保数据不会在 worker 之间重复。
我们还建议使用 .如果没有此 API,则 batch 大小 在某些情况下,纪元结束时可能非常小(小于 其他地图样式数据集)。这可能会特别严重影响准确性 当使用 batch-norm 时。 确保所有批量大小 相等。
drop_last=True
drop_last=True
分布式训练尚未完全使用 stable / supported,我们目前不推荐它。它将是 在 DataLoaderV2 中得到更好的支持。如果您仍希望使用 DDP,请确保 那:
DistributedDataParallel
所有工作程序(DDP 工作程序和 DataLoader 工作程序)都会看到不同的部分 的数据。数据集已经包装在 ShardingFilter 中,您可能需要调用 跨等级 (DDP 工作程序) 和 DataLoader 工作程序的数据。一种方法 是创建具有适当 分片数量(DDP 工作线程 * DataLoader 工作线程)和分片 ID(通过排名推断) 和相应 DataLoader 的 worker ID withing rank)。但请注意,这假定 所有等级的 DataLoader worker 数量相等。
dp.apply_sharding(num_shards, shard_id)
worker_init_fn
apply_sharding
所有 DDP 工作程序都处理相同数量的批次。一种方法 是将每个 worker 中 datapipe 的大小限制为 ,但这可能并不适合所有人 用例。
len(datapipe) // num_ddp_workers
shuffle seed 在所有 worker 中都是相同的。你可能需要 叫
torch.utils.data.graph_settings.apply_shuffle_seed(dp, rng)
洗牌种子在不同 epoch 中是不同的。
RNG 的其余部分(通常用于转换)在不同的工作程序中是不同的,以实现最大的熵和最佳的准确性。
一般使用案例如下:
# import datasets
from torchtext.datasets import IMDB
train_iter = IMDB(split='train')
def tokenize(label, line):
return line.split()
tokens = []
for label, line in train_iter:
tokens += tokenize(label, line)
以下数据集可用:
数据
文本分类¶
AG_NEWS¶
-
torchtext.datasets.
AG_NEWS
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ AG_NEWS 数据集
警告
目前,使用 datapipes 仍需注意一些事项。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://paperswithcode.com/dataset/ag-news
- 每个拆分的行数:
火车 : 120000
测试:7600
亚马逊评论Full¶
-
torchtext.datasets.
AmazonReviewFull
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ AmazonReview完整数据集
警告
目前,使用 datapipes 仍需注意一些事项。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://arxiv.org/abs/1509.01626
- 每个拆分的行数:
火车: 3000000
测试:650000
亚马逊评论极性¶
-
torchtext.datasets.
AmazonReviewPolarity
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ AmazonReviewPolarity 数据集
警告
目前,使用 datapipes 仍需注意一些事项。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://arxiv.org/abs/1509.01626
- 每个拆分的行数:
火车: 3600000
测试:400000
可乐¶
DB百科¶
-
torchtext.datasets.
DBpedia
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ DBpedia 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://www.dbpedia.org/resources/latest-core/
- 每个拆分的行数:
火车 : 560000
测试:70000
IMDb¶
MNLI¶
-
torchtext.datasets.
MNLI
(root='.data', split=('train', 'dev_matched', 'dev_mismatched'))[来源]¶ MNLI 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关其他详细信息,请参阅 https://cims.nyu.edu/~sbowman/multinli/
- 每个拆分的行数:
火车: 392702
dev_matched: 9815
dev_mismatched: 9832
MRPC¶
-
torchtext.datasets.
MRPC
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ MRPC 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://www.microsoft.com/en-us/download/details.aspx?id=52398
- 每个拆分的行数:
火车: 4076
测试:1725
QNLI¶
-
torchtext.datasets.
QNLI
(root='.data', split=('train', 'dev', 'test'))[来源]¶ QNLI 数据集
有关更多详细信息,请参阅 https://arxiv.org/pdf/1804.07461.pdf(来自 GLUE 纸)
- 每个拆分的行数:
火车: 104743
开发:5463
测试: 5463
QQP的¶
-
torchtext.datasets.
QQP
(根:str)[来源]¶ QQP 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://quoradata.quora.com/First-Quora-Dataset-Release-Question-Pairs
即食¶
-
torchtext.datasets.
RTE
(root='.data', split=('train', 'dev', 'test'))[来源]¶ RTE 数据集
有关更多详细信息,请参阅 https://aclweb.org/aclwiki/Recognizing_Textual_Entailment
- 每个拆分的行数:
火车: 67349
开发: 872
测试:1821
搜狗新闻¶
-
torchtext.datasets.
SogouNews
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ 搜狗新闻数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://arxiv.org/abs/1509.01626
- 每个拆分的行数:
火车: 450000
测试:60000
- 参数:
root:保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache') split:返回的 split 或 split。可以是字符串或字符串元组。默认值:(train, test)
- 返回
DataPipe,它生成标签(1 到 5)的元组和包含新闻标题和内容的文本
- rtype
(整数、str)
SST2¶
-
torchtext.datasets.
SST2
(root='.data', split=('train', 'dev', 'test'))[来源]¶ SST2 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://nlp.stanford.edu/sentiment/
- 每个拆分的行数:
火车: 67349
开发: 872
测试:1821
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
split – 要返回的 split 或 split。可以是字符串或字符串元组。默认值:(train, dev, test)
- 返回
DataPipe 生成文本和/或标签的元组(1 到 4)。测试拆分仅返回文本。
- 返回类型
- 教程使用:
SST2
STSB公司¶
-
torchtext.datasets.
STSB
(root='.data', split=('train', 'dev', 'test'))[来源]¶ STSB 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://ixa2.si.ehu.eus/stswiki/index.php/STSbenchmark
- 每个拆分的行数:
火车: 5749
开发: 1500
测试: 1379
WNLI¶
-
torchtext.datasets.
WNLI
(root='.data', split=('train', 'dev', 'test'))[来源]¶ WNLI 数据集
有关更多详细信息,请参阅 https://arxiv.org/pdf/1804.07461v3.pdf
- 每个拆分的行数:
火车 : 635
开发: 71
测试: 146
雅虎答案¶
-
torchtext.datasets.
YahooAnswers
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ YahooAnswers 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://arxiv.org/abs/1509.01626
- 每个拆分的行数:
火车 : 1400000
测试:60000
YelpReviewFull¶
-
torchtext.datasets.
YelpReviewFull
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ YelpReview完整数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://arxiv.org/abs/1509.01626
- 每个拆分的行数:
火车: 650000
测试:50000
YelpReview极性¶
-
torchtext.datasets.
YelpReviewPolarity
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ YelpReview极性数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://arxiv.org/abs/1509.01626
- 每个拆分的行数:
火车 : 560000
测试:38000
语言建模¶
宾夕法尼亚树岸¶
-
torchtext.datasets.
PennTreebank
(root='.data', split: Union[元组[str], str] = ('train', 'valid', 'test'))[来源]¶ PennTreebank 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关其他详细信息,请参阅 https://catalog.ldc.upenn.edu/docs/LDC95T7/cl93.html
- 每个拆分的行数:
火车: 42068
有效期: 3370
测试:3761
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
split – 要返回的 split 或 split。可以是字符串或字符串元组。默认值:(train, valid, test)
- 返回
DataPipe 从 Treebank 语料库生成文本
- 返回类型
维基文本-2¶
-
torchtext.datasets.
WikiText2
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'valid', 'test')))[来源]¶ WikiText2 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://blog.salesforceairesearch.com/the-wikitext-long-term-dependency-language-modeling-dataset/
- 每个拆分的行数:
火车: 36718
有效期: 3760
测试: 4358
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
split – 要返回的 split 或 split。可以是字符串或字符串元组。默认值:(train, valid, test)
- 返回
从 Wikipedia 文章中生成文本的 DataPipe
- 返回类型
维基文本103¶
-
torchtext.datasets.
WikiText103
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'valid', 'test')))[来源]¶ WikiText103 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://blog.salesforceairesearch.com/the-wikitext-long-term-dependency-language-modeling-dataset/
- 每个拆分的行数:
火车: 1801350
有效期: 3760
测试: 4358
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
split – 要返回的 split 或 split。可以是字符串或字符串元组。默认值:(train, valid, test)
- 返回
从 Wikipedia 文章中生成文本的 DataPipe
- 返回类型
机器翻译¶
IWSLT2016¶
-
torchtext.datasets.
IWSLT2016
(root='.data', split=('train', 'valid', 'test'), language_pair=('de', 'en'), valid_set='tst2013', test_set='tst2014')[来源]¶ IWSLT2016 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://wit3.fbk.eu/2016-01
可用的数据集包括:
语言对:
“en”
“fr”
“de”
“cs”
“AR” (AR) (AR) (英语
“en”
x
x
x
x
“fr”
x
“de”
x
“cs”
x
“AR” (AR) (AR) (英语
x
有效/测试集: [“dev2010”, “tst2010”, “tst2011”, “tst2012”, “tst2013”, “tst2014”]
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
split – 要返回的 split 或 split。可以是字符串或字符串元组。默认值: ('train', 'valid', 'test')
language_pair – 包含 src 和 tgt 语言的元组或列表
valid_set – 用于标识验证集的字符串。
test_set – 用于标识测试集的字符串。
- 返回
DataPipe 生成源句子和目标句子的元组
- 返回类型
例子
>>> from torchtext.datasets import IWSLT2016 >>> train_iter, valid_iter, test_iter = IWSLT2016() >>> src_sentence, tgt_sentence = next(iter(train_iter))
IWSLT2017¶
-
torchtext.datasets.
IWSLT2017
(root='.data', split=('train', 'valid', 'test'), language_pair=('de', 'en'))[来源]¶ IWSLT2017 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://wit3.fbk.eu/2017-01
可用的数据集包括:
语言对:
“en”
“nl”
“de”
“它”
“RO”
“en”
x
x
x
x
“nl”
x
x
x
x
“de”
x
x
x
x
“它”
x
x
x
x
“RO”
x
x
x
x
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
split – 要返回的 split 或 split。可以是字符串或字符串元组。默认值: ('train', 'valid', 'test')
language_pair – 包含 src 和 tgt 语言的元组或列表
- 返回
DataPipe 生成源句子和目标句子的元组
- 返回类型
例子
>>> from torchtext.datasets import IWSLT2017 >>> train_iter, valid_iter, test_iter = IWSLT2017() >>> src_sentence, tgt_sentence = next(iter(train_iter))
Multi30k¶
-
torchtext.datasets.
Multi30k
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'valid', 'test'), language_pair: Tuple[str] = ('de', 'en'))[来源]¶ Multi30k 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://www.statmt.org/wmt16/multimodal-task.html#task1
- 每个拆分的行数:
火车 : 29000
有效期: 1014
测试:1000
序列标记¶
CoNLL2000分块¶
-
torchtext.datasets.
CoNLL2000Chunking
(根: str = '.data', split: Union[Tuple[str], str] = ('train', 'test')))[来源]¶ CoNLL2000Chunking 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关其他详细信息,请参阅 https://www.clips.uantwerpen.be/conll2000/chunking/
- 每个拆分的行数:
火车: 8936
测试时间:2012 年
问题解答¶
SQuAD 1.0¶
SQuAD 2.0¶
无监督学习¶
CC100 系列¶
-
torchtext.datasets.
CC100
(根:str,language_code:str = 'en')[来源]¶ CC100 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://data.statmt.org/cc-100/
EnWik9¶
-
torchtext.datasets.
EnWik9
(根:str)[来源]¶ EnWik9 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 http://mattmahoney.net/dc/textdata.html
数据集中的行数:13147026
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
- 返回
从 WnWik9 数据集生成原始文本行的 DataPipe
- 返回类型