[英]How to export a fasttext model created by gensim, to a binary file?
我正在嘗試將 gensim 創建的 fasttext model 導出到二進制文件。 但是文檔不清楚如何實現這一點。 到目前為止我所做的:
model.wv.save_word2vec_format('model.bin')
但這似乎不是最好的解決方案。 以后當我想使用以下命令加載 model 時:
fasttext.load_facebook_model('model.bin')
我進入了一個無限循環。 在加載由model.save('fasttext.model)
fasttext.model
創建的 fasttext.model 時,大約需要 30 秒。
使用.save_word2vec_format()
僅將全詞向量保存為 Google 原始word2vec.c
版本使用的簡單格式。 它不會保存有關完整 FastText model 的獨特內容。 此類文件將使用匹配的.load_word2vec_format()
重新加載。
.load_facebook_format()
方法以 Facebook 的原始(非 Python)FastText 代碼版本保存的格式加載文件。 (這個方法的名字很容易被誤導,因為“facebook”可能意味着除特定數據格式之外的許多不同的東西。)Gensim 沒有匹配的方法來保存到相同的格式——盡管它可能不會很難實現,並且對支持此導出選項具有對稱意義。
Gensim 的模型通常實現 gensim-native .save()
和.load()
選項,它們混合使用 Python 'pickle' 序列化和原始大數組文件。 如果您想保存完整的 model state,這些是您最好的選擇,以便以后重新加載回 Gensim。
(其他 FastText 實現無法加載此類文件。)
將保存的 model 移動到新位置時,請務必將由此.save()
寫入的多個相關文件(都具有相同的用戶提供的前綴)保存在一起。
更新(2020 年 5 月): gensim
的最新版本(例如 3.8.3 及更高版本)包含一個新貢獻的FastText.save_facebook_model()
方法,該方法保存為原始 Facebook FastTExt 二進制格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.