TensorFlow ——Warm Up学习策略

TensorFlow ——Warm Up学习策略

-Learning rate decay 是深度学习训练过程中常用的手段之一。随训练的进展减小学习率可以定位到loss更深但是更窄的部分。

 learning_rate_base = 0.001
 learning_decay_steps = 10000
 learning_decay_rate = 0.95

 learning_rate = tf.train.exponential_decay(learning_rate_base, global_step, learning_decay_steps, learning_decay_rate, staircase=True)

  • Warmup预热学习率的方式
    先用最初的小学习率训练,然后每个step增大一点点,直到达到最初设置的比较大的学习率时,此时预热学习率完成,然后采用最初设置的学习率进行训练,预热学习率完成后的训练过程,学习率是衰减的,有助于使模型收敛速度变快,效果更佳。
 warmup_steps = 10000
 warmup_lr = (learning_rate_base * tf.cast(global_step, tf.float32) / tf.cast(warmup_steps, tf.float32))
 learning_rate = tf.cond(global_step < warmup_steps, lambda: warmup_lr, lambda: lr)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用TensorFlow Estimator进行训练时,可以使用warmup预热学习率的方式来提高模型的收敛速度和效果。预热学习率的设置是先用一个较小的学习率进行训练,然后逐步增加学习率,直到达到最初设置的较大学习率。这个过程可以通过以下步骤实现: 1. 首先,设置学习率的基准值(learning_rate_base),以及预热的步数(warmup_steps)和预热学习率(warmup_lr)。 2. 在训练过程中,根据全局步数(global_step)判断是否处于预热阶段。如果全局步数小于预热步数,使用预热学习率;否则,使用最初设置的学习率。 3. 可以使用tf.cond函数来实现上述判断逻辑。 具体代码示例如下: ``` learning_rate_base = 0.001 learning_decay_steps = 10000 learning_decay_rate = 0.95 warmup_steps = 10000 learning_rate = tf.train.exponential_decay(learning_rate_base, global_step, learning_decay_steps, learning_decay_rate, staircase=True) warmup_lr = (learning_rate_base * tf.cast(global_step, tf.float32) / tf.cast(warmup_steps, tf.float32)) learning_rate = tf.cond(global_step < warmup_steps, lambda: warmup_lr, lambda: learning_rate) ``` 这样,在训练过程中,学习率会先从较小的预热学习率开始逐步增加,直到达到最初设置的学习率。这种预热学习率的方式可以加速模型的收敛过程,提高训练效果。\[3\] #### 引用[.reference_title] - *1* *2* [tensorflow BERT创建模型 并训练的流程(使用estimator)](https://blog.csdn.net/qq_43309133/article/details/119341669)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [TensorFlow ——Warm Up学习策略](https://blog.csdn.net/sinat_28375239/article/details/107937056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值