【发布时间】:2017-07-19 04:23:40
【问题描述】:
我使用 Keras 和 Tensorflow 作为后端。
我试图在我的主进程中保存一个模型,然后在另一个进程中加载/运行(即调用model.predict)。
我目前只是尝试使用文档中的简单方法来保存/加载模型:https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model。
所以基本上:
-
model.save()在主进程中 -
model = load_model()在子进程中 -
model.predict()在子进程中
但是,它只是挂在load_model 调用上。
四处搜索我发现了这个可能相关的答案,表明 Keras 只能在一个进程中使用:using multiprocessing with theano 但我不确定这是否属实(似乎找不到太多关于此的内容)。
有没有办法实现我的目标?非常感谢高级描述或简短示例。
注意:我尝试了将图表传递给流程的方法,但失败了,因为似乎 tensorflow 图表不可挑选(此处相关的 SO 帖子:Tensorflow: Passing a session to a python multiprocess)。如果确实有办法将张量流图/模型传递给子进程,那么我也对此持开放态度。
谢谢!
【问题讨论】:
标签: python tensorflow neural-network keras python-multiprocessing