Keras Callback实例没有属性'set_model'

时间:2017-12-13 07:13:37

标签: python callback keras

我正在尝试使用keras的回调功能记录Keras中使用的每个纪元的状态。这是回调类的示例代码

class TimingCallback():
    def __init__(self):
        self.logs=[]
    def on_epoch_begin(epoch, logs={}):
        self.starttime=time()
    def on_epoch_end(epoch, logs={}):
        self.logs.append(time()-self.starttime)

这是我的模特适合。

cb = TimingCallback()
model.fit(X, Y, epochs=150, batch_size=10, callbacks=[cb])

执行时我收到以下错误。

错误:

  

AttributeError:TimingCallback实例没有属性'set_model'

任何人都可以帮我弄清楚为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:4)

set_modelkeras.callbacks.Callback中定义的方法。要编写自定义回调,您必须继承keras.callbacks.Callback。否则,你的回调将缺少Keras内部使用的一些必要方法。

将第一行更改为以下行应该有效。

class TimingCallback(keras.callbacks.Callback):