2016-12-28 2 views
1

Je suis en train de lire mon modèle doc2vec pré-entraîné:Gensim: comment charger le modèle doc2vec pré-entraîné?

from gensim.models import Doc2Vec 
model = Doc2Vec.load('/path/to/pretrained/model') 

Cependant, une erreur apparaît au cours du processus de lecture. Quelqu'un pourrait-il suggérer comment traiter cela? Voici l'erreur:

AttributeErrorTraceback (most recent call last) 
<ipython-input-9-819b254ac835> in <module>() 
----> 1 model = Doc2Vec.load('/path/to/pretrained/model') 

/opt/jupyter-notebook/.local/lib/python2.7/site-packages/gensim/models/word2vec.pyc in load(cls, *args, **kwargs) 
    1682  @classmethod  
    1683  def load(cls, *args, **kwargs): 
-> 1684   model = super(Word2Vec, cls).load(*args, **kwargs) 
    1685   # update older models 
    1686   if hasattr(model, 'table'): 

/opt/jupyter-notebook/.local/lib/python2.7/site-packages/gensim/utils.pyc in load(cls, fname, mmap) 
    246   compress, subname = SaveLoad._adapt_by_suffix(fname) 
    247 
--> 248   obj = unpickle(fname) 
    249   obj._load_specials(fname, mmap, compress, subname) 
    250   return obj 

/opt/jupyter-notebook/.local/lib/python2.7/site-packages/gensim/utils.pyc in unpickle(fname) 
    909  with smart_open(fname) as f: 
    910   # Because of loading from S3 load can't be used (missing readline in smart_open) 
--> 911   return _pickle.loads(f.read()) 
    912 
    913 

AttributeError: 'module' object has no attribute 'defaultdict' 
+0

Je suppose qu'il peut y avoir un problème lié au format de "pré-entraîné/modèle", vous pouvez utiliser Doc2Vec pour enregistrer un et charger pour tester si cela fonctionne – linpingta

+1

Essayez de mettre à jour le gensim du repo GitHub. Ce bug a été corrigé il y a 6 jours. https://github.com/RaRe-Technologies/gensim/issues/853 –

+0

Semble être exactement ce dont j'ai besoin: le modèle a semblé être sauvegardé via Python 3, et j'essaye de le charger avec Python 2. Cependant, après avoir mis à jour le gensim de son repo GitHub, rien n'a changé ... – fremorie

Répondre

0

Comme il est indiqué dans les commentaires à la question, cela était probablement lié à un problème dans gensim qui a été fixé dans 0.13.4 communiqué.