如何在本地保存gensim加载的GloVe预训练词向量
你给出的代码写法完全正确,gensim 加载后的预训练词向量对象原生支持 save() 方法序列化存储到本地,运行后即可将已经下载好的GloVe维基百科词向量保存到当前工作目录,避免后续重复调用API下载。
你测试的代码示例:
import gensim.downloader as api vectors = api.load('glove-wiki-gigaword-50') vectors.save('vectors.bin')
后续需要使用词向量时,直接加载本地文件即可,无需走下载流程,加载代码如下:
from gensim.models import KeyedVectors # 加载本地存储的词向量文件 vectors = KeyedVectors.load('vectors.bin')
注意事项
- 使用默认
save()方法存储时,如果词向量体积较大,会自动生成多个.npy后缀的附属文件,移动或整理文件时需要将所有附属文件和主.bin文件放在同一目录下,否则会加载失败 - 如果需要导出为可被其他NLP工具读取的通用格式,可以使用
save_word2vec_format方法,示例如下:
# 导出为通用词向量格式,binary=True存二进制文件,False存文本文件 vectors.save_word2vec_format('glove_wiki_50d.txt', binary=False) # 加载通用格式词向量的对应方法 vectors = KeyedVectors.load_word2vec_format('glove_wiki_50d.txt', binary=False)
内容的提问来源于stack exchange,提问作者mjoy
相关产品推荐
相关产品推荐

