在 Gensim 的文档中,它说:
您可以将经过训练的模型保存到磁盘,然后将其加载回来,以继续对新训练文档进行训练或转换新文档。
我想用字典、语料库和 tf.idf 模型来做到这一点。然而,文档似乎说这是可能的,但没有解释如何保存这些东西并再次加载它们。
你怎么做到这一点?
我一直在用Pickle,但不知道这是否正确......
import pickle
pickle.dump(tfidf, open("tfidf.p", "wb"))
tfidf_reloaded = pickle.load(open("tfidf.p", "rb"))
Run Code Online (Sandbox Code Playgroud)
一般来说,您可以使用通用 Python 来保存内容pickle,但大多数gensim模型都支持自己的本机.save()方法。
pickle()它采用目标文件系统路径,并且通常通过将大型组件数组与主文件一起放置在单独的文件中,比 \xe2\x80\x93 更有效地保存模型。(当您稍后移动保存的模型时,请将具有相同根名称的所有这些文件保存在一起。)
特别是,某些具有多 GB 子组件的模型可能根本无法使用pickle()\xe2\x80\x93 保存,但gensim本机.save()可以工作。
.save()通常可以使用适当的类的方法来加载保存的模型.load()。(例如,如果您保存了 的实例gensim.corpora.dictionary.Dictionary,则可以使用gensim.corpora.dictionary.Dictionary.load(filepath).
小智 6
将词典和语料库保存到磁盘
dictionary.save(DICT_PATH)
corpora.MmCorpus.serialize(CORPUS_PATH, corpus)
Run Code Online (Sandbox Code Playgroud)
从磁盘加载词典和语料库
loaded_dict = corpora.Dictionary.load(DICT_PATH)
loaded_corp = corpora.MmCorpus(CORPUS_PATH)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7408 次 |
| 最近记录: |