如何解决加载word2vec模型时出现数组重整错误
我有以下代码:
from gensim.models import Word2Vec
model = Word2Vec.load('model2')
X = model[model.wv.vocab]
这段代码可以在我的一台机器上运行,但不能在另一台机器上运行。模型文件是相同的。这是怎么回事?我收到的错误消息如下:
File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/models/word2vec.py",line 1330,in load
model = super(Word2Vec,cls).load(*args,**kwargs)
File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/models/base_any2vec.py",line 1244,in load
model = super(BaseWordEmbeddingsModel,line 603,in load
return super(BaseAny2VecModel,cls).load(fname_or_handle,**kwargs)
File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/utils.py",line 427,in load
obj._load_specials(fname,mmap,compress,subname)
File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/utils.py",line 458,in _load_specials
getattr(self,attrib)._load_specials(cfname,line 469,in _load_specials
val = np.load(subname(fname,attrib),mmap_mode=mmap)
File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/numpy/lib/npyio.py",line 440,in load
pickle_kwargs=pickle_kwargs)
File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/numpy/lib/format.py",line 771,in read_array
array.shape = shape
ValueError: cannot reshape array of size 16777184 into shape (134441,128)
要安装gensim,我使用了conda install -c anaconda gensim
解决方法
我检查了@gojomo在评论中所指的内容,他是正确的,我的文件大小不正确。上传期间一定发生了一些事情。对于大型模型,word2vec将模型保存为3个文件。假设您的模型名称是“ model2”,您将拥有:
- model2
- model2.trainables.syn1neg.npy
- model2.wv.vectors.npy
我的.wv.vectors.npy
比其他机器上的版本小了几千字节。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。