
pytorch中加载预训练gensim之word2vec模型
发布日期:2021-05-04 21:01:53
浏览次数:20
分类:原创文章
本文共 1171 字,大约阅读时间需要 3 分钟。
在pytorch中加载glove之类模型,大家可能已经非常熟悉了,但是加载gensim模型则比较少的看到。
结合网上的资源 加上本人的测试,现总结如下:
1 ,准备可加载的预训练模型
下面是加载代码
import torchtext.vocab as VocabW2V_TXT_FILE="/root/python/bit/datasets/baikevector/baike_26g_news_13g_novel_229g.txt"W2V_BIN_FILE="/root/python/bit/datasets/baikevector/baike_26g_news_13g_novel_229g.bin"CACHE_DIR="/root/python/bit/datasets/baikevector/cache"vectors=Vocab.Vectors(name=W2V_TXT_FILE,cache=CACHE_DIR)#上面的W2V_TXT_FILE是gensim预训练的word2vec模型中的txt格式, cache_dir是缓存 目录
注意,gensim生成的模型有三种,第一种是 默认的model文件(可以继续 进行tuning),第二种是bin文件(c风格),第三种是 txt文件(比较大)
pytorch 的torchtext可加载的模型为txt格式,可以通过以下代码进行转换:
model = gensim.models.KeyedVectors.load_word2vec_format(W2V_BIN_FILE,binary=True)model.wv.save_word2vec_format(W2V_TXT_FILE)
2. 加载并转换
vectors=Vocab.Vectors(name=W2V_TXT_FILE,cache=CACHE_DIR)# load pretrained word2vec into pytorchweights = torch.FloatTensor(vectors.vectors)Embed_dim= weights.size(1) #(words, dim)vocnum =weights.size(0) # total word numberTEXT.build_vocab(train,max_size=25000) #构建词表TEXT.vocab.set_vectors(vectors.stoi,vectors.vectors,vectors.dim) #替换向量为word2vecembedding =nn.Embedding.from_pretrained(torch.FloatTensor(TEXT.vocab.vectors)) #准备训练用向量
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月13日 16时17分32秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
netcore中使用session
2019-03-06
Android 开发学习进程0.25 自定义控件
2019-03-06
多媒体文件格式全解说(下)--图片
2019-03-06
淘宝WAP版小BUG分析
2019-03-06
asp.net打印网页后自动关闭网页【无需插件】
2019-03-06
【Maven】POM基本概念
2019-03-06
【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
2019-03-06
【设计模式】单例模式
2019-03-06
远程触发Jenkins的Pipeline任务的并发问题处理
2019-03-06
Web应用程序并发问题处理的一点小经验
2019-03-06
entity framework core在独立类库下执行迁移操作
2019-03-06
Asp.Net Core 2.1+的视图缓存(响应缓存)
2019-03-06
【wp】HWS计划2021硬件安全冬令营线上选拔赛
2019-03-06
Ef+T4模板实现代码快速生成器
2019-03-06
c++ static笔记
2019-03-06
JQuery选择器
2019-03-06
多线程之volatile关键字
2019-03-06
2.2.2原码补码移码的作用
2019-03-06
Java面试题:Servlet是线程安全的吗?
2019-03-06
Java集合总结系列2:Collection接口
2019-03-06