加载word2vec模型时数组整形错误

2024-05-14 04:26:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

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, cls).load(*args, **kwargs)
  File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/models/base_any2vec.py", 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, mmap, compress, subname)
  File "/home/ec2-user/miniconda3/envs/word2vec/lib/python3.7/site-packages/gensim/utils.py", 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


Tags: inpyhomelibpackageslinesiteload
1条回答
网友
1楼 · 发布于 2024-05-14 04:26:30

我检查了@gojomo在评论中提到的内容,他是正确的,我的文件大小是错误的。上传过程中一定发生了什么。对于大型模型,word2vec将模型保存在3个文件中。假设您的模型名为“model2”,您将拥有:

  1. 模型2
  2. 模型2.trainables.syn1neg.npy
  3. model2.wv.vectors.npy

我的.wv.vectors.npy比另一台机器的版本小了几千字节

相关问题 更多 >