documentation有点不清楚如何将快速文本模型保存到磁盘-如何在参数中指定路径,我尝试这样做,但失败并出现错误
文档示例
>>> from gensim.test.utils import get_tmpfile
>>>
>>> fname = get_tmpfile("fasttext.model")
>>>
>>> model.save(fname)
>>> model = FastText.load(fname)
此外,如何像word2vec模型那样以文本格式保存模型?
'word2vecmodel.wv.save_word2vec_format("D:\w2vmodel.txt")'
编辑
在尝试先创建文件的建议后,我保持与运行此代码之前相同的错误
savepath = os.path.abspath('D:\fasttextmodel.v3.bin');
from gensim.test.utils import get_tmpfile
fname = get_tmpfile(savepath)
fasttext_model.save(fname)
TypeError:文件必须具有“写入”属性
答案 0 :(得分:0)
在保存之前,您是否尝试过在本地目录中创建一个名为“ fasttext.model”的文件?
此外,我假设您在此正确之前对模型进行了训练?
答案 1 :(得分:0)
FastText save()/load()
示例中的文档具有误导性,他们建议您使用 get_tmpfile
。如果我将数据文件名作为字符串传递并且不将其包装在 get_tmpfile
中,我可以保存模型:
model.save("fasttext.model")
然后可以用同样的方式加载,直接传递字符串:
model = FastText.load("fasttext.model")
请注意,这将为大型模型保存多个文件。但是,在加载模型时,只需指定主fasttext.model file
,函数会自动加载其他文件(如果有)。