keras教程【4】辅助工具

本例中介绍了 callbacks参数 、网络可视化工具、Application(提供了诸多已经训练好的模型,方便进行迁移学习)。

1.model.fit中的callbacks参数

callbacks参数 可以接收 回调函数。本例介绍几个简单的回调函数:

  1. TensorBoard: 训练可视化监控, 便于分析参数优化过程是否正常!

使用TensorBoard监控,方法就是,在model.fit中加入 回调函数TensorBoard 即可。
步骤1:定义回调函数TensorBoard.

from keras.callbacks import TensorBoard
tb = TensorBoard(log_dir = './logs', # log目录
     histogram_freq = 1, # 按照几个epoch来计算直方图,0表示不计算
     batch_size = 32, # 用多大量的数据计算直方图
     write_graph = True, # 是否存储网络结构图
     write_grads = False, # 是否可视化梯度直方图
     write_images = False, # 是否可视化参数
     embeddings_layer_names = None,
     embeddings_metadata = None)
     
callbacks = [tb]

步骤2:在model.fit中加入 回调函数TensorBoard.

model.fit(x_train, y_train,
          batch_size = 64,
          epochs = 2,
          verbose = 1,
          validation_data = (x_test, y_test),
          callbacks = callbacks)

步骤3:训练结束后,使用命令行tensorboard --logdir=./logs,回车后会显示 查看网址,直接复制粘贴到游览器即可 查看 训练过程.
假如 网址无法显示,那么如何解决?方案是,使用命令:tensorboard --logdir logs --host=127.0.0.1 再次生成 网址,然后再查看。

  1. ModelCheckpoint: 设置每个epoch存储一遍模型。
checkpoint = ModelCheckpoint(filepath='./model_ckpt.h5',
             monitor = 'val_acc',
             verbose = 1,
             save_best_only = True)
# 调用
model.fit(X_train, Y_train, batch_size=128, callbacks=[checkpoint])
  1. LearningRateScheduler: 用来动态调整学习率

4)ReduceLROnPlateau: 用来在训练停滞不前的时候动态降低学习率

reducelr = ReduceLROnPlateau(monitor='val_loss',
           factor=0.1,
           patience=10,
           mode='auto',
           epsilon = 0.0001,
           cooldown = 0,
           min_lr = 0)
# 调用
model.fit(X_train, Y_train, batch_size=128, callbacks=[reducelr])

假如调用多个回调函数,举例如下:

# 调用
model.fit(X_train, Y_train, 
batch_size=128, 
callbacks=[checkpoint, reducelr])

5)EarlyStopping:当early stop被激活(如发现loss相比上1个epoch训练没有下降),则经过patience个epoch后停止训练。

EarlyStopping(monitor='val_loss',
patience = 0,
mode = 'auto')
2.网络可视化

网络可视化使用函数plot_model.

from keras.utils import plot_model
plot_model(model, to_file = 'model.png')
3.Application.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值