Gensim word2vec in python3 missing dictionary

I am using the gensim implementation of Word2Vec. I have the following code snippet:

print('training model') model = Word2Vec(Sentences(start, end)) print('trained model:', model) print('vocab:', model.vocab.keys()) 

When I run this in python2, it works as expected. The final fingerprint is all the words in the dictionary.

However, if I run it in python3, I get an error:

 trained model: Word2Vec(vocab=102, size=100, alpha=0.025) Traceback (most recent call last): File "learn.py", line 58, in <module> train(to_datetime('-4h'), to_datetime('now'), 'model.out') File "learn.py", line 23, in train print('vocab:', model.vocab.keys()) AttributeError: 'Word2Vec' object has no attribute 'vocab' 

What's happening? Is gensim word2vec incompatible with python3?

+6
source share
1 answer

Do you use the same version of gensim in both places? Gensim 1.0.0 moves vocab to a helper object, so if in gensim versions prior to 1.0.0 (in Python 2 or 3) you can use:

 model.vocab 

... in gensim 1.0.0+ you should use instead (in Python 2 or 3) ...

 model.wv.vocab 
+12
source

Source: https://habr.com/ru/post/1015350/


All Articles