美文网首页
tf.keras之回调函数

tf.keras之回调函数

作者: 612twilight | 来源:发表于2020-03-18 23:05 被阅读0次

tf.keras的model在进行fit时可以传入各种回调函数,介绍几种常用的回调函数。

EarlyStopping

  • monitor='val_loss',monitor用来告知需要监听的变量,当该变量满足某些要求之后,就会停止训练,提前结束
  • min_delta=0, 判定变量不在提升的最小值,当变量的变动小于该值,就认为变量已经不再提升
  • patience=0, 该数字表示,经过多少轮之后,变量不再变动,则停止训练
  • verbose=0,这是个日志级别
  • mode='auto',由于监听的变量可能是准确率,所以变量提升的方向不确定,一般就设置为auto
  • baseline=None,要监控的变量的基准值。 如果模型没有显示baseline的改善,训练将停止。
  • restore_best_weights=False,模型是否根据监控变量的最佳值时的model存储下来

LearningRateScheduler

LearningRateScheduler是学习率调整策略,有以下两个参数

  • schedule 一个function,接受epoch参数,然后我们可以根据epoch参数,返回学习率

  • verbose,日志

ReduceLROnPlateau

monitor: 监听的变量

factor: 衰减因子,每次衰减都乘以这个数,factor by which the learning rate will be reduced. new_lr = lr *

factor

patience: 变量多少轮没有提升之后,减少学习率

verbose: int. 0: quiet, 1: update messages.

mode: one of {auto, min, max}. In min mode, lr will be reduced when the

quantity monitored has stopped decreasing; in max mode it will be

reduced when the quantity monitored has stopped increasing; in auto

mode, the direction is automatically inferred from the name of the

monitored quantity.

min_delta: 这是用来衡量监控值是否提升的阈值.

cooldown: 学习率衰减之后,会等几轮再重新判定是否衰减number of epochs to wait before resuming normal operation after

lr has been reduced.

min_lr:学习率的下届

LambdaCallback

接受如下六个参数,这几个参数都是匿名函数:

on_epoch_begin: called at the beginning of every epoch.
on_epoch_end: called at the end of every epoch.
on_batch_begin: called at the beginning of every batch.
on_batch_end: called at the end of every batch.
on_train_begin: called at the beginning of model training.
on_train_end: called at the end of model training.`

匿名函数的参数如下:

on_epoch_beginandon_epoch_endexpect two positional arguments:epoch,logs-on_batch_beginandon_batch_endexpect two positional arguments:batch,logs-on_train_beginandon_train_endexpect one positional argument:logs`

自定义CallBack

自定义callback继承父类即可,可以自己实现复杂的回调函数

相关文章

  • tf.keras之回调函数

    tf.keras的model在进行fit时可以传入各种回调函数,介绍几种常用的回调函数。 EarlyStoppin...

  • JavaScript系列之回调函数callback

    JavaScript系列之回调函数callback JavaScript回调函数的使用是很常见的,引用官方回调函数...

  • JavaScript函数_08回调函数

    回调函数 回调函数(回调),当我们把某个函数作为参数传递给另一个函数的时候,这个函数就是回调函数 回调函数的基本写...

  • Promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数。 回调地狱 回调套回调套回调套回调套回调套回调套回调....

  • 函数指针之回调函数和转移表

    函数指针之回调函数和转移表 《C和指针》261页函数指针的用途: 对不同的数据类型作相同的操作->回调函数 对相同...

  • 回调函数与promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数 具名回调写法 匿名回调写法 多层嵌套的匿名回调(回调地...

  • 回调函数与promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数 具名回调写法 匿名回调写法 多层嵌套的匿名回调(回调地...

  • javascript回调函数

    javascript回调函数很玄幻。 jquery 中大量使用了回调函数。直到现在才看懂 普通回调函数 匿名回调函...

  • 异步的实现

    异步的三种实现方式: 回调函数事件Promise 回调函数 回调函数不一定是异步 但是异步一定是回调函数。 事件 ...

  • mqtt python包回调分析

    mqtt的python包,回调函数比较复杂,每次在连接之前,需要先实现回调函数,回调函数的传入参数固定 将回调函数...

网友评论

      本文标题:tf.keras之回调函数

      本文链接:https://www.haomeiwen.com/subject/dvecyhtx.html