[关闭]
@songying 2019-04-19T08:37:42.000000Z 字数 1192 阅读 1672

Torchtext

NLP


https://github.com/Jarvx/text-classification-pytorch

https://zhuanlan.zhihu.com/p/31139113
https://zhuanlan.zhihu.com/p/37223078

整体组件

1. torchtext.data

组件 说明
Dataset 用于加载数据,继承自Pytorch 的 torch.utils.data.Dataset
Field 数据预处理相关配置
Iterator 数据输出至model的迭代器
Pipeline 管道

2. torchtext.datasets

该模块下包含一些常用数据集的dataset, 这些dataset都继承于 torchtext.data.Dataset,

Dataset 说明
SST 情感分类数据集
IMDB 情感分类数据集
TREC 问题分类数据集

重要组件介绍

1. Field

参数 说明
sequential 是否把数据表示成序列,如果是False, 不能使用分词 默认值: True
use_vocab 是否使用词典对象. 如果是False 数据的类型必须已经是数值类型. 默认值: True
init_token 每一条数据的起始字符 默认值: None
eos_token 每条数据的结尾字符 默认值: None
fix_length 修改每条数据的长度为该值,不够的用pad_token补全. 默认值: None
tensor_type 把数据转换成的tensor类型 默认值: torch.LongTensor
preprocessing 在分词之后和数值化之前使用的管道 默认值: None.
postprocessing 数值化之后和转化成tensor之前使用的管道默认值: None
lower 是否把数据转化为小写 默认值: False
tokenize 分词函数. 默认值: str.split
include_lengths 是否返回一个已经补全的最小batch的元组和和一个包含每条数据长度的列表 . 默认值: False.
batch_first Whether to produce tensors with the batch dimension first. 默认值: False
pad_token 用于补全的字符. 默认值: ""
unk_token 不存在词典里的字符. 默认值: ""
pad_first 是否补全第一个字符. 默认值: False

2. Dataset

3. Iterator

参数 说明
dataset 加载的数据集
batch_size Batch 大小
batch_size_fn 产生动态的batch大小 的函数
sort_key 排序的key
train 是否是一个训练集
repeat 是否在不同epoch中重复迭代
shuffle 是否打乱数据
sort 是否对数据进行排序
sort_within_batch batch内部是否排序
device 建立batch的设备 -1:CPU ;0,1 ...:对应的GPU
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注