使用pytorch建立textcnn模型
过程
API
torchtext.data
torchtext.data.Example : 用来表示一个样本,数据+标签
torchtext.vocab.Vocab: 词汇表相关
torchtext.data.Datasets: 数据集类,getitem 返回 Example实例
torchtext.data.Field : 用来定义字段的处理方法(文本字段,标签字段)
创建 Example时的 预处理
batch 时的一些处理操作。
torchtext.data.Iterator: 迭代器,用来生成 batch
torchtext.datasets: 包含了常见的数据集.
重点torchtext.data.Field
作用:定义样本各个字段的处理流程(分词、数据预处理等)
torchtext.data.Field(sequential=True, use_vocab=True, init_token=None, eos_token=None, fix_length=None, dtype=torch.int64, preprocessing=None, postprocessing=None, lower=False, tokenize=None, tokenizer_language=‘en’, include_lengths=False, batch_first=False, pad_token=’’, unk_token=’’, pad_first=False, truncate_first=False, stop_words=None, is_target=False)
重要参数表示
sequential:是否是可序列化数据(类似于字符串数据),默认值是 True;
user_vocab:是否使用 Vocab 对象,如果取 False,则该字段必须是数值类型;默认值是True;
tokenize:是一个 function 类型的对象(如 string.cut 、jieba.cut 等),用于对字符串进行分词;
batch_first:如果该属性的值取 True,则该字段返回的 Tensor 对象的第一维度是 batch 的大小;默认值是False;
fix_length:该字段是否是定长,如果取 None 则按同 batch 该字段的最大长度进行pad;
搭建的数据处理(部分)
模型搭建(部分)
通过pytorch可以省去不少手动配置的过程非常方便但是需要去学习他对应的方法与使用
参考:
https://blog.csdn.net/u012436149/article/details/79310176