-
Torchtext
2020-09-22 22:21:55pytorch学习笔记-Torchtext 总述 Torchtext是pytorch处理文本的一个工具包。做过NLP的项目,预处理过程是一个相当繁琐的过程。一般在训练模型之前,需要对处理的文本文件做一些处理:从磁盘中将数据读入内存;切分词...pytorch学习笔记-Torchtext
总述
Torchtext是pytorch处理文本的一个工具包。做过NLP的项目,预处理过程是一个相当繁琐的过程。一般在训练模型之前,需要对处理的文本文件做一些处理:从磁盘中将数据读入内存;切分词;将每一个词映射到一个对应的整数上;将文本转化为一个整数的序列;转化数据格式满足模型的要求;将文本处理成等长的;
Torchtext将不同类型的文件转化为Datasets。Torchtext之后将Dataset传向了Iterator,Iterators可以处理数值化、batching、打包,之后将数据移动向GPU。基本上,它完成了将数据传递给神经网络所需的所有繁重工作。
Fields
Torchtext采用了一种声明式的方法来加载数据:你来告诉Torchtext你希望的数据是什么样子的,剩下的由torchtext来处理。
实现这种声明的是Field,Field确定了一种你想要怎么去处理数据。
我们这里有这样一个数据集:
torchtext常见API一览torchtext.data.Example : 用来表示一个样本,数据和标签
torchtext.vocab.Vocab: 词汇表,可以导入一些预训练词向量
torchtext.data.Datasets: 数据集类,__getitem__返回 Example实例, torchtext.data.TabularDataset是其子类。
torchtext.data.Field : 用来定义字段的处理方法(文本字段,标签字段)创建 Example时的 预处理,batch 时的一些处理操作。
torchtext.data.Iterator: 迭代器,用来生成 batch
torchtext.datasets: 包含了常见的数据集.链接: TorchText教程1、 TorchText教程2.
-
TorchText
2020-07-30 10:22:24TorchText是一款优秀的NLP数据处理工具,可以方便的对文本进行预处理,例如截断补长、构建词表等。但是因为nlp的热度远不如cv,对于torchtext介绍的相关博客数量也远不如torchvision torchtext对数据的处理可以概括...TorchText是一款优秀的NLP数据处理工具,可以方便的对文本进行预处理,例如截断补长、构建词表等。但是因为nlp的热度远不如cv,对于torchtext介绍的相关博客数量也远不如torchvision
torchtext对数据的处理可以概括为Field,Dataset和迭代器三部分。
Field对象
Field对象指定要如何处理某个字段.
Dataset
Dataset定义数据源信息.
迭代器
迭代器返回模型所需要的处理后的数据.迭代器主要分为Iterator, BucketIerator, BPTTIterator三种。
torchtext还自带Multi30k数据集,这是一个包含约30000个平行的英语、德语和法语句子的数据集,每个句子包含约12个单词。
-
torchtext
2020-09-04 20:26:51pytorch torch.randn pytorch torch.normal pytorch torch.randint pytorch torch.rand pytorch torch.full pytorch torch.empty pytorch torch.eye pytorch torch.linspace pytorch torch.arange ...NLP预处理过程:
(1)Train/Validation/Test数据集划分
(2)文本数据的导入
(3)分词(Tokenization),将文本字符串切分为词语列表
(4)构建词典(Vocabulary)
(5)数字映射(Numericalize),根据词典,将数据从词语映射成数字
(6)导入预训练好的词向量
(7)将数据分Batch
(8)Embedding Lookup,将每个词语对应的索引值变成词语向量1.数据集划分
一般使用pandas
2.文本数据导入 与 3.分词
1)torchtext.data.Field 3.分词
对要导入的每个字段设置处理方法,比如分词text_field = data.Field(tokenize='spacy', lower=True, include_lengths=True, fix_length=60) Label_field = data.Field(sequential=False, use_vocab=False, dtype=torch.long)
参数 描述 tokenize 句子分词的方法,如果是’spacy’,则使用spacy分词器,对英文文本分词; lower 是否将文本的所有字母变成小写; include_lengths 是否返回一个带有各自长度的padded的minibatch数据; fix_length 是所有的Text都是固定的长度,长度不足的用padding补全,超过的截取; sequential 是否连续的数据,如果False,则不用分词;如果True,则要分词,并且默认是True的。 Label数据来说,并不是连续的,所以sequential要设置为False,同时并不需要用到vocab,所以也设置为False。
2)torchtext.data.TabularDataset 2.文本数据导入
加载csv,tsv或json格式train = data.TabularDataset(path='/home/chiyeung/Desktop/Code/DL/Try/data/smallTrain.csv', format="csv", skip_header=True, fields=[('sentence', text_field), ('label', Label_field)]) print(len(train.examples))
参数 描述 path 数据文件地址; format 数据文件格式,可以是’csv’, ‘tsv’, or ‘json’; skip_header 是否跳过数据文件的第一行; fields 是一个包含很多个tuple的list,(name, field)。 也可以同时加载训练集和验证集。
train, dev = data.TabularDataset.splits(path='/home/chiyeung/Desktop/Code/DL/Try/data', train='smallTrain.csv', validation='smallDev.csv', format='csv', skip_header=True, fields=[('sentence', text_field), ('label', Label_field)])
4.构建词典 &5.数字映射 &6导入预训练好的词向量
上述代码所做的事情就是把预训练的glove.6B.300d词向量读取到vocabularyvec中。
vec = vocab.Vectors(name='/home/chiyeung/Datasets/glove/glove.6B.300d.txt') Label_field.build_vocab(train, dev) text_field.vocab.stoi['you'] text_field.vocab.itos[271] text_field.vocab.vectors[text_field.vocab.stoi['you']] # 查看词向量embedding,可以通过词向量计算词语的相似性
参数 描述 max_size 詞典的最大词数, vectors 所使用的词向量, min_freq=50 词典中的词语保证至少出现50次, unk_init 词典中没有的词语对应的向量统一用torch.Tensor.normal_填充。 7.将数据分Batch
train_iter = data.BucketIterator(train, batch_size=5, sort_key=lambda x:len(x.sentence), sort_within_batch=True, shuffle=True, repeat=False)
参数 描述 train TabularDataset构造的训练集; batch_size 批量的大小; sort_key 数据的排序方法; sort_within_batch 在一个批量中是否存储; shuffle 是否随机打乱数据; repeat 是否重复迭代器; device 放在CPU还是GPU 参考:
http://ziyangluo.tech/2020/01/17/torchtext1/ -
下载 torchtext
2020-11-05 08:54:51本来使用 pip install torchtext 下载完了, 但是 from torchtext import data 时报错 “OSError: python3.6/site-packages/torchtext/_torchtext.so: undefined symbol: _ZN3c1023_fastEqualsForContainerERKNS_6...本来使用 pip install torchtext 下载完了,
但是 from torchtext import data 时报错
“OSError: python3.6/site-packages/torchtext/_torchtext.so: undefined symbol: _ZN3c1023_fastEqualsForContainerERKNS_6IValueES2_”
参考了网上的博客,去了如下github
https://github.com/pytorch/text/
然后看了自己的 pytorch 版本,是1.5的,
于是使用 pip install torchtext==0.6
安装完,使用 from torchtext import data 就没有报错
-
TorchText 详解
2020-07-15 20:43:57TorchText 流程 TorchText 对数据的处理可以概括为: Filed、Dataset以及迭代器 1.torchtext.data.Field : 用来定义字段的处理方法(文本字段,标签字段) 创建 Example时的预处理 from torchtext.data import ... -
安装torchtext
2020-07-26 22:28:50conda install -c derickl torchtext -
torchtext 安装
2019-07-30 16:06:02在Anaconda Prompt窗口中输入命令:conda install -c derickl torchtext 即可安装成功 -
学习torchtext
2020-06-14 16:32:52pytorch-Field 源码:text/torchtext/data/field.py -
torchtext使用
2019-12-02 18:47:03Torchtext有大量内置的Datasets去处理各种数据格式 TabularDataset: Defines a Dataset of columns stored in CSV, TSV, or JSON format 文档: https://torchtext.readthedocs.io/en/latest/index.html 待... -
torchtext 使用
2020-08-06 21:21:25文章目录torchtext.data.Field NLP常见的数据预处理工作如下: Load File:数据文件加载; Tokenization:分词; Create Vocabulary:创建字典; Indexify:将词与索引进行映射; Word Vectors:创建或加载词向量; ... -
torchtext学习总结
2019-02-19 14:35:15文章目录TorchText概述Field对象Dataset迭代器具体使用使用Dataset类自定义Dataset类构建数据集构建词表最简单的方法:build_vocab()方法中传入用于构建词表的数据集使用预训练词向量构建迭代器批数据的使用在模型中... -
Torchtext 使用方法
2020-07-07 17:21:02Torchtext 使用方法 1. Torchtext 介绍 众所周知,Pytorch是现今非常流形的深度学习框架。而Torchtext是一个非官方的、为Pytorch提供文本数据处理的库。在自然语言处理尤其是RNN、LSTM等模型的应用方面具有重要意义... -
torchtext使用教程
2019-07-10 19:57:34将一个纯文本数据(比如一个 txt 文本), 变成一个模型可接受的数据(比如一个 embedding 序列),就用到了torchtext。 API一览 torchtext.data torchtext.data.Example : 用来表示一个样本,数据+标签 ... -
torchtext 的使用
2019-10-07 14:50:12torchtext的使用 文本预处理流程: file loading Tokenization Vocab Numericalize/Indexify 词映射成 index word vector 词向量 Batching torchtext的处理流程 torchtext.data.Field 定义样本处理流程; ... -
torchtext的安装
2020-02-13 17:15:52在学习《动手深度学习》的过程中,安装torchtext出了问题。 前面的尝试的错误有: 1.使用pip直接安装 pip install torchtext 结果出现以下的错误 Traceback (most recent call last): File "C:\Users\... -
Torchtext深度解析
2020-01-01 22:55:08基于torchtext 0.4.0版本,pytorch版本1.2.0。 参考资料: 官方文档:https://torchtext.readthedocs.io/en/latest/index.html# 例子代码: https://github.com/atnlp/torchtext-summary ... -
torchtext datasets总结
2020-12-02 09:18:18所有dataset继承自torchtext.data.Dataset,torchtext.data.Dataset继承自torch.utils.data.Dataset,他们都必须实现split和iters方法 approach1 splits: # set up fields TEXT = data.Field(lower=True, include_... -
torchtext安装方法总结
2021-01-12 10:42:02torchtext安装方法总结 pip直接安装 pip install torchtext 这种方法我尝试的时候总是会自动更新pytorch; conda直接安装 conda search torchtext conda install torchtext 或者 conda install -c pytorch ... -
torchtext学习资料
2019-05-29 16:27:59入门必看 http://mlexplained.com/2018/02/08/a-comprehensive-tutorial-to-torchtext/ http://mlexplained.com/2018/02/15/language-modeling-tutorial-in-torchtext-practical-torchtext-part-2/ -
使用conda安装torchtext
2020-07-31 16:13:21在使用《动手学深度学习》中导入包的时候有一个包torchtext导入出现了问题,原来是没有装。但是直接使用conda install存在无法安装的情况,这时候需要指定channel 问题解决:手动指定channel 方法一:使用conda ... -
TorchText实践总结
2019-04-11 15:10:56TorchText详细介绍1传送门 TorchText入门教程,轻松玩转文本处理传送门 from torchtext.data import Field,TabularDataset,Iterator,BucketIterator ''' 声明式加载数据方式 tokenize:分词方式 可以先定义好函数 ... -
Torchtext学习笔记
2020-03-29 16:57:37Torchtext是pytorch处理文本的一个工具包,在学习pytorch的过程中遇到,就顺便学习一下,也相应的做一下记录。 我们在进行NLP任务时,对数据预处理一般分为: 读入数据 将数据one-hot one-hot to embedding 用迭代... -
torchtext简要使用说明
2020-05-25 23:36:11torchtext官方文档:https://torchtext.readthedocs.io/en/latest/data.html 以下文章转载部分 文章部分翻译自 http://anie.me/On-Torchtext/ API一览 torchtext.data torchtext.data.Example : ...torchtext.voca -
torchtext的简单教程
2020-06-09 19:40:03torchtext的使用 目录 torchtext的使用 1.引言 2.torchtext简介 3.代码讲解 3.1 Field 3.2 Dataset 3.4 使用Field构建词向量表 3.3 Iteration 4. 总结 1.引言 这两天看了一些torchtext的东西, 其实... -
TorchText用法示例及完整代码
2019-03-01 20:09:27TorchText     最近开始使用PyTorch进行NLP神经网络模型的搭建,发现了torchtext这一文本处理神器,可以方便的对文本进行预处理,例如截断... -
安装torchtext mac OS
2020-07-28 23:37:07使用如下命令安装torchtext pip install https://github.com/pytorch/text/archive/master.zip 方法二: conda search torchtext 运行命令后,提示如下: Loading channels: done # Name Version Build ... -
pytorch学习笔记(十九):torchtext
2018-02-11 13:47:04文章部分翻译自 http://anie.me/On-Torchtext/ API一览 torchtext.data torchtext.data.Example : 用来表示一个样本,数据+标签 torchtext.vocab.Vocab: 词汇表相关 torchtext.data.Datasets: ...torchtext...
-
第二届山东省大学生网络技术大赛网络搭建赛题————企业网通道.doc
-
C#的类型
-
解味石头模拟星空万年历V2.00
-
MFC f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dlgdata.cpp Line:40
-
基于MFC对话框的窗口分割+解决分割后窗口和控件等比例最大化问题
-
Correct the classpath of your application so that it contains a single, compatible version of com.go
-
594.最长和谐子序列(力扣leetcode) 博主可答疑该问题
-
游戏开发 经典A星算法+源码.zip
-
什么是真正的云原生?
-
android笔试面试和实战课程
-
flutter插件调用APP页面、使用原生aar,framework库
-
【数据分析-随到随学】数据分析基础及方法论
-
2021年低压电工考试及低压电工免费试题
-
highcharts.js
-
linux 环境下安装和运行nodejs项目
-
java微服务常用技术整合
-
电脑在WiFi连接情况下,Xshell连接Virtualbox的centos7失败
-
GLOGUI 一个可与HGE游戏引擎结合的GUI
-
2021最新Kubernetes(k8s)集群实战精讲
-
常见漏洞exphub