解决 torchtext 无法下载 glove
最近,在看一个情感分析入门级项目,其中用到了 glove 预训练词嵌入。
但是,可能是因为网络原因,直接使用 torchtext 下载 glove 却又没反应。
搞得有点头大,辗转好久才解决。
采用如下代码构建词典时,本会自动下载 “glove.6B.100d”:
TEXT.build_vocab(train_data,max_size = MAX_VOCAB_SIZE,vectors = "glove.6B.100d",unk_init = torch.Tensor.normal_)
但是,可能是因为网络原因,直接这样下载 glove 却又没反应。
于是,想着能不能仿照之前 安装 en_core_web_sm-3.0.0 先把 glove 下载到本地,然后在传到服务器上。思路没毛病,网上也能找到 golve 文件,但是 torchtext 不会玩的我,把 glove 放在什么位置可是苦恼我好久了。
解决步骤
下载
glove.6B.100d.zip
文件通过 xftp 将 glove.6B.100d.zip 上传到远端 linux 服务器
通过 unzip 命令解压文件 glove.6B.100d.zip
解压后主要有四个文件,如下如所示,但这里用的是 glove.6B.100d 的
4. 将 “glove.6B.100d” 移动到待执行 py 文件所在文件夹下的 .vector_cache 文件夹即可
注意:
第一次执行待执行 py 文件后,会在其所在文件夹下生成一个 .vector_cache 的隐藏目录;
若未生成,则可以使用 mkdir .vertor_cache 创建之。
使用
ls -a
命令可以查看之,如下所示:
将解压后的
glove.6B.100d.txt
移动到 .vector_cache,再次执行代码后会在 .vector_cache 文件夹下生成一个对应的 pt 文件,如下:
到这里,就可以正常在 torchtext 里使用 glove了。其实挺好处理的,主要一开始对torchtext 不熟悉,不知道改吧解压后的 glove 文件放在什么位置。
下面是,试验代码以及成功运行glove的图:
试验代码:
## 加载数据集
from torchtext.legacy import datasetstrain_data, test_data = datasets.IMDB.splits(TEXT, LABEL)print(f'Number of training examples: {len(train_data)}')
print(f'Number of testing examples: {len(test_data)}')print(vars(train_data.examples[0]))## 从 train 从划分 train/dev
import randomtrain_data, valid_data = train_data.split(random_state = random.seed(SEED))print(f'Number of training examples: {len(train_data)}')
print(f'Number of validation examples: {len(valid_data)}')
print(f'Number of testing examples: {len(test_data)}')## 使用预训练词嵌入 构建词典
MAX_VOCAB_SIZE = 25_000# cache = '/home/duanxinshen/GLOVE/glove.6B' # 预训练文件位置
# vectors = Vectors(name = 'glove.6B.100d.txt', cache=cache)TEXT.build_vocab(train_data,max_size = MAX_VOCAB_SIZE,vectors = "glove.6B.100d",unk_init = torch.Tensor.normal_)LABEL.build_vocab(train_data)print(f"Unique tokens in TEXT vocabulary: {len(TEXT.vocab)}")
print(f"Unique tokens in LABEL vocabulary: {len(LABEL.vocab)}")print(TEXT.vocab.freqs.most_common(20))print(TEXT.vocab.itos[:10])print(LABEL.vocab.stoi)
运行结果:
下面不用看了,主要是记录一下自己踩的坑。
踩坑1
太年轻,一开始想着直接更改 vectors 为自定义防止 glove 的文件夹位置,直接gg
TEXT.build_vocab(train_data,max_size = MAX_VOCAB_SIZE,vectors = "/home/xxx/GLOVE/glove.6B/glove.6B.100d.txt
", # 错误示例1unk_init = torch.Tensor.normal_)
果不其然报错如下:
踩坑2
参考 这个博客,看到这里可以使用 外部预训练词向量。他这篇文章中是,通过更改 name
和 cache
来解决的,如下(这是上面这篇博客里面的内容,引用一下):
我想着这个应该符合我这个情况,但是一用发现 Vectors
是个啥玩意,又报错了:
还是没搞懂这个 Vectors
是个啥玩意,最后通过本文方法解决了~
解决 torchtext 无法下载 glove相关推荐
- 解决AS gradle下载同步卡慢的问题
解决AS gradle下载同步卡慢的问题 参考文章: (1)解决AS gradle下载同步卡慢的问题 (2)https://www.cnblogs.com/bluestorm/p/9967047.ht ...
- 解决maven无法下载jar的问题
解决maven无法下载jar的问题 参考文章: (1)解决maven无法下载jar的问题 (2)https://www.cnblogs.com/rookie404/p/5740485.html 备忘一 ...
- Asp.net生成Excel文件并下载(解决使用迅雷下载页面而不是文件的问题)
这里采用的是在服务端先生成Excel文件,然后利用文件地址下载的方法. 先试用Response.WriteFile的方法: FileInfo fi = new FileInfo(excelFile); ...
- Anaconda:成功解决利用conda下载pytorch和torchvision时速度超慢的问题
Anaconda:成功解决利用conda下载pytorch和torchvision时速度超慢的问题 目录 解决问题 解决思路 解决方法 解决问题 利用conda 下载pytorch和torchvisi ...
- 【原】Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题)...
这里采用的是在服务端先生成Excel文件,然后利用文件地址下载的方法. 生成Excel文件的方法,见:[原].Net创建Excel文件(插入数据.修改格式.生成图表)的方法 先试用Response.W ...
- 解决 Electron 包下载太慢问题
解决 Electron 包下载太慢问题 参考文章: (1)解决 Electron 包下载太慢问题 (2)https://www.cnblogs.com/savokiss/p/8744807.html ...
- 解决go get下载包失败问题
解决go get下载包失败问题 参考文章: (1)解决go get下载包失败问题 (2)https://www.cnblogs.com/nickchen121/p/11517465.html 备忘一下 ...
- 通过设置代理解决AndroidStudio无法下载gradle问题
通过设置代理解决AndroidStudio无法下载gradle问题 参考文章: (1)通过设置代理解决AndroidStudio无法下载gradle问题 (2)https://www.cnblogs. ...
- 【问题解决】解决 Android SDK下载和更新失败“Connection to https://dl-ssl.google.com refused”的问题
[问题&解决]解决 Android SDK下载和更新失败"Connection to https://dl-ssl.google.com refused"的问题 参考文章: ...
最新文章
- 如何使用Git提高研发团队工作效率?
- 用python+pygame模块实现一波刮刮卡效果,图像处理之路(附源码)
- 在Python中使用正则表达式去掉字符串里的html标签
- vuex模块化 怎么引用state_[Vuex系列] - 细说state的几种用法
- word手写字体以假乱真_Word小技巧|打印作文草稿纸
- 维拉智能管家机器人_“女性机器人”广受欢迎,但却面临3大问题,男性坦言:不敢用...
- jquery.validate
- mysql 用户权限管理
- neo4j jdbc中文乱码
- WPF StackPanel控件使用方法
- Word如何转换成PDF格式
- 2005年度最佳网名
- 微软新的邮件帐户域名 @live.com和@windowslive.com
- php年龄计算器,js+html实现周岁年龄计算器
- typeScrip(一)基础类型
- 微信IOS访问页面,返回的时候页面空白
- MVC 音乐商店 第 5 部分: 编辑窗体和模板化
- R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
- React-虚拟DOM
- 入侵学校服务器修改成绩 :)