#创建一个权重文件保存文件夹logs
#记录所有训练过程,每隔一定步数记录最大值
tensorboard = TensorBoard(log_dir='"logs/"')
checkpoint = ModelCheckpoint(log_dir + "best_weights.h5",
monitor="val_loss",
mode='min',
save_best_only=True,
verbose=1,
period=1)
callback_lists=[tensorboard,checkpoint]
print("training network...")
H = model.fit(trainX, trainY, validation_data=(testX, testY),
batch_size=64, epochs=40, callbacks=callback_lists, verbose=2)
filename:字符串,保存模型的路径,就是你准备存放最好模型的地方
monitor:需要监视的值,比如val_acc、acc、loss、 val_loss
verbose:信息展示模式,0或1 ,如果你喜欢进度条,那就选1;如果喜欢清爽的就选0,verbose=冗余的
save_best_only:当设置为True时,将只保存在验证集上性能最好的模型
mode:‘auto’,‘min’,‘max’之一,在save_best_only=True时决定性能最佳模型的评判准则, 例如,当监测值为val_acc时,模式应为max, 当检测值为val_loss时,模式应为min。在auto模式下,评价准则由被监测值的名字自动推断。
save_weights_only:若设置为True,则只保存模型权重,否则将保存整个模型(包括模型结构,配置信息等)
period:CheckPoint之间的间隔的epoch数