无法在<模块"gensim.models.keyedvectors">上获取属性"Word2VecKeyedVectors"



我训练并保存了一个gensim word2vec模型:

W2V_MODEL_FN = r"C:Usersmodelsw2v.model"
model = Word2Vec(X, size=150, window=3, min_count=2, workers=10)
model.train(X, total_examples=len(X), epochs=50)
model.save(W2V_MODEL_FN)

然后:

w2v_model = Word2Vec.load(W2V_MODEL_FN)

在一个环境中它运行良好,但在另一个环境中我得到错误:

{AttributeError}无法在模块上获取属性"Word2VecKeyedVectors" 'gensim.models.keyedvectors' from 'C:\Users\Anaconda3_New\envs\ISP_env\lib\site-packages\gensim\models\keyedvectors.py'>

所以我想这可能是软件包版本问题?

但是我不知道它是什么。 有什么想法吗?

谢谢!

感谢@oren_jsp问题的答案。

pip3 install --upgrade gensim --user

它解决了我的问题。

我的情况是一个不同的问题。

我的代码看起来像这样:

# main.py
from enum import IntEnum
from gensim.models import Word2Vec

class GensimTrainingAlgo(IntEnum):
SG = 1
CBOW = 0

model = Word2Vec(X, size=150, window=3, min_count=2, workers=10, sg=GensimTrainingAlgo.SG)
model.save('/tmp/path')

原来我正在打破泡菜。如果您希望能够保存/加载函数,它必须是可腌制的。这意味着它必须已命名且可导入。

我通过确保枚举是在 main.py 文件之外定义的来修复它。

# utils.py
from enum import IntEnum

class GensimTrainingAlgo(IntEnum):
SG = 1
CBOW = 0
# main.py
from gensim.models import Word2Vec
model = Word2Vec(X, size=150, window=3, min_count=2, workers=10, sg=GensimTrainingAlgo.SG)
model.save('/tmp/path')

最新更新