我正在使用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
电话。
有没有办法实现我的目标?高度赞赏的描述或简短的示例将不胜感激。
注意:我已经尝试过将图形传递给流程的方法,但是失败了,因为看来tensorflow图是不可选的。如果确实有一种方法可以将tensorflow图/模型传递给子进程,那么我也对此持开放态度。
谢谢!
根据我的经验,问题在于加载Keras
到一个进程中,然后在将keras
其加载到您的主环境中时生成一个新进程。但是对于某些应用程序(例如训练Keras
模型的混合),最好将所有这些都集中在一个过程中。所以我建议采取以下方法(有点麻烦-但为我工作):
import keras
def training_function(...):
...
但请执行以下操作:
def training_function(...):
import keras
...
def _training_worker(train_params):
import keras
model = obtain_model(train_params)
model.fit(train_params)
send_message_to_main_process(...)
def train_new_model(train_params):
training_process = multiprocessing.Process(target=_training_worker, args = train_params)
training_process.start()
get_message_from_training_process(...)
training_process.join()
不同的方法只是为不同的模型动作准备不同的脚本。但这可能会导致内存错误,尤其是在模型消耗内存的情况下。 请注意
,由于这个原因,最好使您的执行严格按顺序执行。
Keras是紧凑,易于学习的高级Python库,运行在TensorFlow框架之上。它的重点是理解深度学习技术,例如为神经网络创建维护形状和数学细节概念的层。freamework的创建可以是以下两种类型 - 顺序API 功能API 在Keras中创建深度学习模型有以下 8 个步骤 - 加载数据 预处理加载的数据 模型的定义 编译模型 指定模型 评估模型 进行必要的预测 保存模型 下面将使用Jupy
我有一个简单的模型,我已经训练过了,它似乎运行良好,现在我想使用tensorflow服务,我需要SavedModel。 但是我看不到一种方法来指定用simple_save()输入数据所要做的任何预处理 但是我找不到如何用saved_model.simple_save()实现这一点的例子
问题内容: 这个问题可能已经有人提出过,而且回答的可能性更大,但是我不知道在哪里可以找到它。 问题:我有一个用于pythonflask的路由器,该路由器需要花费一些时间来处理每个调用的数据。我需要使对路由的每个调用本身就是一个线程,因此它不必等待请求被加载。 问题答案: Flask带有内置的开发Web服务器,但是你不应该在生产环境中使用它。 为了获得一些很酷的功能,例如为每个请求和静态文件服务提供
问题内容: 如何在没有多线程的情况下在python中运行多个进程?例如考虑以下问题: 我们必须制作一个Gui,它具有一个启动一个函数的开始按钮(例如,打印所有整数),还有一个停止按钮,以便单击该按钮可以停止该函数。 如何在Tkinter中做到这一点? 问题答案: 然后,您需要将小部件与启动工作线程的函数绑定在一起。例如: 通过这种方法,您只能通过更改其值来优雅地结束线程。注意,使用多个线程可避免在
请注意,CPU没有被利用,任务管理器上的任何其他内容都表明任何东西都没有被充分利用。我没有以太网连接,并且连接到Wifi(我不认为这会影响任何事情,但我不确定Jupyter是否会影响Wifi,因为它是通过web浏览器运行的)。我正在培训大量数据(~128GB),这些数据都加载到RAM(512GB)中。我运行的模型是一个完全卷积的神经网络(基本上是一个U型网络结构),具有566290个可训练参数。到
这就是Keras Keras是一个高层神经网络库,Keras由纯Python编写而成并基Tensorflow或Theano。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras: 简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性) 支持CNN和RNN,或二者的结合 支持任意的链接方案(包括多输入和多输出训练) 无缝CPU和GPU切换