我正在微调最快的 wiki 模型,如下所示。这很好用。微调后,我保存了重新训练的模型。
from gensim.models import fasttext
model = fasttext.load_facebook_model(datapath("wiki/wiki.en.bin"))
model.build_vocab(sentences, update=True)
model.train(sentences, total_examples=len(sentences), epochs=5)
model.save("wiki/wiki.en.updated.bin")
稍后当我尝试加载模型时
model = fasttext.load_facebook_model(datapath("wiki/wiki.en.updated.bin")
我收到错误
NotImplementedError:不支持受监督的 fastText 模型
这很奇怪,因为我没有进行监督训练!?!?知道为什么会发生这种情况以及如何正确加载微调模型吗?
我不可能保存或加载文件错误。我确实注意到保存时会创建多个文件,但由于底层表示,这只是正常现象,或者不是?
我在 M2 Mac 上运行 macOS 14.3。
-rw-r--r--@ 1 sail0r staff 8493673445 Oct 19 2017 wiki.en.bin
-rw-r--r-- 1 sail0r staff 84876251 Apr 14 02:12 wiki.en.updated.bin
-rw-r--r-- 1 sail0r staff 3023571728 Apr 14 02:12 wiki.en.updated.bin.syn1neg.npy
-rw-r--r-- 1 sail0r staff 2400000128 Apr 14 02:11 wiki.en.updated.bin.wv.vectors_ngrams.npy
-rw-r--r-- 1 sail0r staff 3023571728 Apr 14 02:11 wiki.en.updated.bin.wv.vectors_vocab.npy
-rw-rw-r--@ 1 sail0r staff 6597238061 Sep 19 2016 wiki.en.vec
这是 gensim 4.3.2。
对上述代码的更改解决了问题。
from gensim.models import FastText, fasttext
model = FastText.load(datapath("wiki/wiki.en.bin"))
重新训练的模型似乎没有以 fasttext 格式保存,因此只需要
load()
方法,否则显然会很混乱。