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)
以下数据集当前可用。如果您想做出贡献 将新数据集添加到存储库或使用您自己的自定义数据集,请参阅 CONTRIBUTING_DATASETS.md 指南。
文本分类¶
AG_NEWS¶
- torchtext.datasets 中。AG_NEWS(root: 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(root: 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(root: 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(root: 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¶
- torchtext.datasets 中。IMDB(根:str = '.data', split: Union[Tuple[str], str] = ('train', 'test'))[来源]¶
IMDB 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 http://ai.stanford.edu/~amaas/data/sentiment/
- 每个拆分的行数:
火车 : 25000
测试:25000
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
split – 要返回的 split 或 split。可以是字符串或字符串元组。默认值:(train, test)
- 结果
DataPipe,生成标签(1 到 2)的元组和包含电影评论的文本
- 返回类型:
- 教程使用:
IMDB
- 用于摘要、情感分类和翻译的 T5-Base 模型
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',拆分:Union[元组[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(root: 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
- 每个拆分的行数:
火车 : 2490
开发: 277
测试:3000
搜狗新闻¶
- torchtext.datasets 中。SogouNews(root: 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
SST-2 使用 XLM-RoBERTa 模型的二进制文本分类
SST-2 使用 XLM-RoBERTa 模型的二进制文本分类
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(root: 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(root: 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(root: 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(root: 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(root: str = '.data', split: Union[Tuple[str]、 str] = ('train', 'valid', 'test'), language_pair: 元组[str] = ('de', 'en'))[来源]¶
Multi30k 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://www.statmt.org/wmt16/multimodal-task.html#task1
- 每个拆分的行数:
火车 : 29000
有效期: 1014
测试:1000
- 参数
root – 保存数据集的目录。默认值: os.path.expanduser('~/.torchtext/cache')
split – 要返回的 split 或 split。可以是字符串或字符串元组。默认值: ('train', 'valid', 'test')
language_pair – 包含 src 和 tgt 语言的元组或列表。可用选项包括 ('de','en') 和 ('en', 'de')
- 结果
DataPipe 生成源句子和目标句子的元组
- 返回类型:
- 教程使用:
Multi30k
- 用于摘要、情感分类和翻译的 T5-Base 模型
序列标记¶
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 年
UDPOS¶
问题解答¶
SQuAD 1.0¶
SQuAD 2.0¶
- torchtext.datasets 中。SQuAD2(根: str = '.data', split: Union[Tuple[str]、 str] = ('train', 'dev'))[来源]¶
SQuAD2 数据集
警告
使用 DataPipes 目前仍需注意一些问题。如果您愿意 将此数据集用于 shuffling、multi-processing 或 distributed 学习,请参阅此说明以了解更多信息 指示。
有关更多详细信息,请参阅 https://rajpurkar.github.io/SQuAD-explorer/
- 每个拆分的行数:
火车: 130319
开发:11873
无监督学习¶
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
- 返回类型: