Я хочу создать свой собственный обратный вызов в Keras, но не совсем понимаю, как это сделать.
Что я хочу сделать, это создать обратный вызов, который каждые n
(например, n=10
)эпохи вызывают функцию.Согласно документации Keras (https://keras.io/callbacks/) базовый класс keras.callbacks.Callback
имеет свойство params
.
Включает ли это свойство текущую эпоху? И если да, то как его можно использовать / вызывать?
Или есть ли другой хороший способ вызывать функцию каждые n
эпох?
Я имел в виду Callback, который работает аналогично 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
Один сайт помог мне, в частности, лучше понять Обратные вызовы: https://keunwoochoi.wordpress.com/2016/07/16/keras-callbacks/