无法加载已保存的gensim word2vec模型

时间:2019-02-01 03:14:39

标签: python gensim

我尝试保存用gensim训练过的word2vec模型,如下所示:

from gensim.models import Word2Vec
model = Word2Vec(sentences, parameters)
model.save('modelfile.model')

现在,当我尝试Word2Vec.load('modelfile.model')时,我得到:

ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'

如果有帮助,可以发布完整的追溯。

2 个答案:

答案 0 :(得分:1)

这很奇怪。您是否为load()使用与save()完全相同的Python环境和gensim版本?您是如何安装gensim和numpy的?

当我搜索该错误时,我发现其他讨论表明这可能是从numpy 1.16腌制(保存)一个numpy数组的症状。但尝试在较早的numpy中解开(加载)它。参见例如:

https://github.com/numpy/numpy/issues/12825#issuecomment-456561919

看起来numpy最近合并了一个修补程序– https://github.com/numpy/numpy/issues/12837 –但与此同时,您最好的选择是确保要加载的位置正在使用numpy 1.16.0 +。

答案 1 :(得分:0)

我会尝试virtualenv以避免软件包和环境之间的任何冲突。 Virtualenv是用于创建隔离的Python环境的工具。这是设置virtualenv并尝试加载word2vec模型的快速步骤。

sudo pip install virtualenv # install virtualenv
virtualenv test1 # create an env named test1
cd test1 # go ot test1
source bin/activate # activate test1
pip install gensim # install your packages for test1 env
python path-to-your-file.py # run your program