我正在使用Tensorflow作为后端,结合Keras进行开发。
我想在主进程中保存模型,然后在另一个进程中加载/运行模型(即调用`model.predict`)。
目前,我正在尝试文档中的简单方法来保存/加载模型:https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model。基本上:
我查找了一些资料,发现了这个可能相关的回答,该回答表明Keras只能在一个进程中使用:using multiprocessing with theano。但我不确定这是否正确(貌似没有太多关于此的信息)。
有什么方法可以实现我的目标吗?非常感谢提供高层描述或简短的示例。
注意:我已经尝试过将图形传递给进程的方法,但失败了,因为似乎TensorFlow图形无法pickle化(相关的SO帖子在这里:Tensorflow: Passing a session to a python multiprocess)。如果确实有一种方法可以将tensorflow图形/模型传递给子进程,那我也很愿意尝试。
谢谢!
我想在主进程中保存模型,然后在另一个进程中加载/运行模型(即调用`model.predict`)。
目前,我正在尝试文档中的简单方法来保存/加载模型:https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model。基本上:
- 在主进程中使用`model.save()`
- 在子进程中使用`model = load_model()`
- 在子进程中使用`model.predict()`
我查找了一些资料,发现了这个可能相关的回答,该回答表明Keras只能在一个进程中使用:using multiprocessing with theano。但我不确定这是否正确(貌似没有太多关于此的信息)。
有什么方法可以实现我的目标吗?非常感谢提供高层描述或简短的示例。
注意:我已经尝试过将图形传递给进程的方法,但失败了,因为似乎TensorFlow图形无法pickle化(相关的SO帖子在这里:Tensorflow: Passing a session to a python multiprocess)。如果确实有一种方法可以将tensorflow图形/模型传递给子进程,那我也很愿意尝试。
谢谢!
importlib.reload(keras)
,但它没有起作用。 - Kermit