keras api:
https://keras.io/callbacks/
源码:
https://github.com/keras-team/keras/blob/master/keras/callbacks/callbacks.py#L275
例子:
自定义回调函数,打印每个batch的信息,每个epoch的信息
class PrintInfoCallback(tf.keras.callbacks.Callback): # 继承自Callback类
# 在每一个batch结束后记录相应的值
def on_batch_end(self, batch, logs=None):
# print("logs::::",logs)
print("batch ===== loss:",logs.get('loss'),"acc:",logs.get('acc'),"val_loss:",logs.get('loss'),"val_acc:",logs.get('val_acc'))
# 在每一个epoch之后记录相应的值
def on_epoch_end(self, epoch, logs=None):
# 会接着后面打印,所以开始处加上了换行符
print("\nepoch ===== loss:",logs.get('loss'),"acc:",logs.get('acc'),"val_loss:",logs.get('loss'),"val_acc:",logs.get('val_acc'))
使用
pic = PrintInfoCallback()
history=model.fit(
train_images,
train_labels,
epochs=5,
validation_data=(test_images,test_labels),callbacks=[pic])