我正试图为我的问题微调一个使用gensim包装器的FastText预训练模型,但我有问题。
我成功地从.bin文件加载了模型嵌入,如下所示:
from gensim.models.fasttext import FastText
model=FastText.load_fasttext_format(r_bin)
sent = [['i', 'am ', 'interested', 'on', 'SPGB'], ['SPGB' 'is', 'a', 'good', 'choice']]
model.build_vocab(sent, update=True)
model.train(sentences=sent, total_examples = len(sent), epochs=5)
无论我做什么改变,我都会一遍又一遍地犯这个错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-91-6456730b1919> in <module>
1 sent = [['i', 'am', 'interested', 'on', 'SPGB'], ['SPGB' 'is', 'a', 'good', 'choice']]
----> 2 model.build_vocab(sent, update=True)
3 model.train(sentences=sent, total_examples = len(sent), epochs=5)
/opt/.../fasttext.py in build_vocab(self, sentences, update, progress_per, keep_raw_vocab, trim_rule, **kwargs)
380 return super(FastText, self).build_vocab(
381 sentences, update=update, progress_per=progress_per,
--> 382 keep_raw_vocab=keep_raw_vocab, trim_rule=trim_rule, **kwargs)
383
384 def _set_train_params(self, **kwargs):
/opt/.../base_any2vec.py in build_vocab(self, sentences, update, progress_per, keep_raw_vocab, trim_rule, **kwargs)
484 trim_rule=trim_rule, **kwargs)
485 report_values['memory'] = self.estimate_memory(vocab_size=report_values['num_retained_words'])
--> 486 self.trainables.prepare_weights(self.hs, self.negative, self.wv, update=update, vocabulary=self.vocabulary)
487
488 def build_vocab_from_freq(self, word_freq, keep_raw_vocab=False, corpus_count=None, trim_rule=None, update=False):
/opt/.../fasttext.py in prepare_weights(self, hs, negative, wv, update, vocabulary)
752
753 def prepare_weights(self, hs, negative, wv, update=False, vocabulary=None):
--> 754 super(FastTextTrainables, self).prepare_weights(hs, negative, wv, update=update, vocabulary=vocabulary)
755 self.init_ngrams_weights(wv, update=update, vocabulary=vocabulary)
756
/opt/.../word2vec.py in prepare_weights(self, hs, negative, wv, update, vocabulary)
1402 self.reset_weights(hs, negative, wv)
1403 else:
-> 1404 self.update_weights(hs, negative, wv)
1405
1406 def seeded_vector(self, seed_string, vector_size):
/opt/.../word2vec.py in update_weights(self, hs, negative, wv)
1452 self.syn1 = vstack([self.syn1, zeros((gained_vocab, self.layer1_size), dtype=REAL)])
1453 if negative:
-> 1454 self.syn1neg = vstack([self.syn1neg, zeros((gained_vocab, self.layer1_size), dtype=REAL)])
1455 wv.vectors_norm = None
1456
AttributeError: 'FastTextTrainables' object has no attribute 'syn1neg'
提前谢谢你的帮助