【发布时间】:2020-04-22 14:37:26
【问题描述】:
我有很大的 gensim Doc2vec 模型,我只需要在从其他来源加载训练文档向量时推断向量。 是否可以在没有大 npy 文件的情况下按原样加载它
我做到了
编辑:
from gensim.models.doc2vec import Doc2Vec
model_path = r'C:\model/model'
model = Doc2Vec.load(model_path)
model.delete_temporary_training_data(keep_doctags_vectors=False, keep_inference=True)
model.save(model_path)
删除文件(model.trainables.syn1neg.npy,model.wv.vectors.npy)手动
model = Doc2Vec.load(model_path)
但它要求
Traceback (most recent call last):
File "<ipython-input-5-7f868a7dbe0c>", line 1, in <module>
model = Doc2Vec.load(model_path)
File "C:\ProgramData\Anaconda3\envs\py\lib\site-packages\gensim\models\doc2vec.py", line 1113, in load
return super(Doc2Vec, cls).load(*args, **kwargs)
File "C:\ProgramData\Anaconda3\envs\py\lib\site-packages\gensim\models\base_any2vec.py", line 1244, in load
model = super(BaseWordEmbeddingsModel, cls).load(*args, **kwargs)
File "C:\ProgramData\Anaconda3\envs\py\lib\site-packages\gensim\models\base_any2vec.py", line 603, in load
return super(BaseAny2VecModel, cls).load(fname_or_handle, **kwargs)
File "C:\ProgramData\Anaconda3\envs\py\lib\site-packages\gensim\utils.py", line 427, in load
obj._load_specials(fname, mmap, compress, subname)
File "C:\ProgramData\Anaconda3\envs\py\lib\site-packages\gensim\utils.py", line 458, in _load_specials
getattr(self, attrib)._load_specials(cfname, mmap, compress, subname)
File "C:\ProgramData\Anaconda3\envs\py\lib\site-packages\gensim\utils.py", line 469, in _load_specials
val = np.load(subname(fname, attrib), mmap_mode=mmap)
File "C:\ProgramData\Anaconda3\envs\py\lib\site-packages\numpy\lib\npyio.py", line 428, in load
fid = open(os_fspath(file), "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\model/model.trainables.syn1neg.npy'
注意: 目录中不存在这些文件, 模型在服务器上运行并从存储中下载模型文件 我的问题是,模型是否必须有这些文件进行推理? 我想以尽可能低的内存消耗运行它。 谢谢。
编辑: 文件 model.trainables.syn1neg.npy 是模型权重吗? 运行推理是否需要文件 model.wv.vectors.npy?
【问题讨论】:
-
“它要求”是什么意思? (您可以编辑问题以显示特定错误吗?)
-
@gojomo - 已更新,谢谢
-
这些错误是什么时候出现的——运行
.save()时,还是稍后运行其他代码时?是否有更多信息与这些错误一起显示,例如完整的错误堆栈? -
@gojomo - 抱歉信息缺失