Keras键盘中断停止训练?
在tensorflow中似乎有一种方法可以做到这一点:Keras键盘中断停止训练?,keras,deep-learning,Keras,Deep Learning,在tensorflow中似乎有一种方法可以做到这一点: Keras中是否存在类似的情况?您可以捕获键盘中断异常,并将模型保存在块中,但块除外: save_path='./keras save/_lastest.ckpt' 尝试: 模型安装(x_系列、y_系列、, 批次大小=批次大小, 时代=时代) 除键盘中断外: model.save(保存路径) 打印('输出保存到:“{}./*”。格式(保存路径)) 我发现最好的方法是使用鼠标在屏幕上的位置作为输入 在下面的示例中,如果将鼠标移到左边缘(xb
Keras中是否存在类似的情况?您可以捕获
键盘中断
异常,并将模型保存在块中,但
块除外:
save_path='./keras save/_lastest.ckpt'
尝试:
模型安装(x_系列、y_系列、,
批次大小=批次大小,
时代=时代)
除键盘中断外:
model.save(保存路径)
打印('输出保存到:“{}./*”。格式(保存路径))
我发现最好的方法是使用鼠标在屏幕上的位置作为输入
在下面的示例中,如果将鼠标移到左边缘(xbtw此方法在linux上运行良好,但在windows上似乎有问题。我尝试在windows 10上的keras脚本中使用此方法,该脚本也导入sklearn,然后键盘中断不再工作。我喜欢此方法,因为退出列车循环后,您可以继续进行绘图和预测
def queryMousePosition():
from ctypes import windll, Structure, c_long, byref
class POINT(Structure): _fields_ = [("x", c_long), ("y", c_long)]
pt = POINT()
windll.user32.GetCursorPos(byref(pt))
return pt.x, pt.y # %timeit queryMousePosition()
class TerminateOnFlag(keras.callbacks.Callback):
def on_batch_end(self, batch, logs=None):
mouse_x, mouse_y = queryMousePosition()
if mouse_x < 10:
self.model.stop_training = True
callbacks=[keras.callbacks.ReduceLROnPlateau(), TerminateOnFlag()]
model.fit_generator(..., callbacks=callbacks, ...)