Chr*_*ang 5 python callback keras
我想在 Keras 中创建自己的回调,但不太明白如何去做。
我想要做的是创建一个回调,每个n(例如n=10)纪元都调用一个函数。根据 Keras 文档 ( https://keras.io/callbacks/ ),基类keras.callbacks.Callback有一个属性params。
该属性是否包括当前纪元?如果是这样,如何使用/调用它?
或者还有其他好方法来每个n时期调用一个函数吗?
我想到了一个回调,其工作原理与keras.callbacks.ModelCheckpoint使用参数时类似period=10。
非常感谢您的帮助。谢谢 :)
编辑:经过相当多的阅读后,我想出了这个,它似乎有效(仍然需要正确测试它)
class Test1(callbacks.Callback):
def on_epoch_end(self, epochs, logs={})
if epochs == 10:
print('abc') #a random function
callb = Test1()
model = networks.compute_network(layers=layers, batch_size=batch_size, epochs=epochs, call_list=[callb])
# compute_network in my case loads all the data, trains the network, and then returns it
Run Code Online (Sandbox Code Playgroud)
有一个网站特别帮助我更好地理解回调: https: //keunwoochoi.wordpress.com/2016/07/16/keras-callbacks/
小智 3
正如 @HMK 所说,on_epoch_begin方法on_epoch_end提供了当前纪元。例如,要每 10 个时期应用一个函数,您可以像这样编辑自定义回调:
class myCallback(keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs=None)
if epoch % 10 == 0:
your_func()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2255 次 |
| 最近记录: |