我正在尝试使用预先训练的模型并为其添加额外的词汇。我有一个csv文件,里面有一列句子。
import gensim
existing_model_fr = gensim.models.Word2Vec.load('./fr/fr.bin')
new_sentences = gensim.models.word2vec.LineSentence('./data/french.csv')
existing_model_fr.build_vocab(new_sentences, update=True)
existing_model_fr.train(new_sentences, total_examples=existing_model_fr.corpus_count, epochs=5)
existing_model_fr.save('new_model_fr')
我在existing_model_fr.train()行上遇到以下错误。我错过了什么?
()
中的AttributeError Traceback(最近的最后一次调用)/usr/local/lib/python3.5/dist-packages/gensim/models/word2vec.py in 火车(自我,句子,total_examples,total_words,epochs, start_alpha,end_alpha,word_count,queue_factor,report_delay, compute_loss)863只被调用一次,模型的缓存iter值 应作为epochs值提供。 864""" - > 865如果 self.model_trimmed_post_training:866引发RuntimeError("参数 使用model_trimmed_post_training方法")丢弃训练 867如果FAST_VERSION< 0:
AttributeError:' Word2Vec'对象没有属性 ' model_trimmed_post_training'
答案 0 :(得分:1)
您可能正在从早期版本的gensim加载模型,其中未定义属性model_trimmed_post_training
。您可以通过在加载之后但在train()
之前设置属性来解决此问题:
existing_model_fr. model_trimmed_post_training = false