1、通过抽象 Keras 后端 API 来编写它们
# 如果你希望你编写的 Keras 模块与 Theano (th) 和 TensorFlow (tf) 兼容,
# 则必须通过抽象 Keras 后端 API 来编写它们
from keras import backend as K
2、callback回调函数
# callback回调函数数能够监测训练过程中的loss或者acc这些指标
# 一旦观察到损失不再改善之后,就可以中止训练,节省时间
'''ModelCheckpoint与EarlyStopping
监控目标若在指定轮数内不再改善,
可利用EarlyStopping来中断训练。
可配合ModelCheckpoint使用,
该回调函数可不断地保存模型,
亦可以只保存某一epoch最佳性能模
ReduceLROnPlateau如果验证损失不再改善,
可以使用该回调函数来降低学习率。'''
from keras.callbacks import
(EarlyStopping, ModelCheckpoint,
ReduceLROnPlateau,TensorBoard)
例子:
callbacks_list=[
keras.callbacks.EarlyStopping(
monitor='acc',#监控精度
patience=5,#5轮内不改善就中止
),
keras.callbacks.ModelCheckpoint(
filepath='C:/apple/my_model.h5',#模型保存路径
monitor='val_loss',#检测验证集损失值
save_best_only=True#是否只保存最佳模型
)
callbacks_list=[
keras.callbacks.ReduceLROnPlateau(
monitor='val_loss',#监控精度
patienece=5, # 5轮内不改善就改变
factor=0.1#学习率变为原来的0.1