当我运行包含以下代码的.py文件时
if not os.path.exists('model_out'): model1 = gensim.models.Word2Vec(l, min_count = 1, size = 100, window = 5) model1.save('model_out')model1.load('model_out')model11 = gensim.models.keyedvectors.KeyedVectors.load(model1)max_size = len(model.wv.vocab)-1
会生成以下错误
Traceback (most recent call last): File “assignment.py”, line 35, in model11 = gensim.models.keyedvectors.KeyedVectors.load(model1) File “/Users/harshpanwar/Desktop/Enthire_assignment/myenv/lib/python3.6/site-packages/gensim/models/keyedvectors.py”, line 1540, in load model = super(WordEmbeddingsKeyedVectors, cls).load(fname_or_handle, **kwargs) File “/Users/harshpanwar/Desktop/Enthire_assignment/myenv/lib/python3.6/site-packages/gensim/models/keyedvectors.py”, line 228, in load return super(BaseKeyedVectors, cls).load(fname_or_handle, **kwargs) File “/Users/harshpanwar/Desktop/Enthire_assignment/myenv/lib/python3.6/site-packages/gensim/utils.py”, line 424, in load compress, subname = SaveLoad._adapt_by_suffix(fname) File “/Users/harshpanwar/Desktop/Enthire_assignment/myenv/lib/python3.6/site-packages/gensim/utils.py”, line 513, in _adapt_by_suffix compress, suffix = (True, ‘npz’) if fname.endswith(‘.gz’) or fname.endswith(‘.bz2’) else (False, ‘npy’) AttributeError: ‘Word2Vec’对象没有属性’endswith’
回答:
我认为某些函数可能已经废弃。尝试使用
from gensim import modelsw = models.KeyedVectors.load_word2vec_format('model', binary=True)
或者
from gensim import modelsw = models.Word2Vec.load_word2vec_format('model', binary=True)