zoukankan      html  css  js  c++  java
  • 网络优化改进

    网络优化改进

    网络优化的方法有很多,在这里我们使用其中一种优化方式。在我们的模型训练时候,会有一个重要的因素需要设定,就是学习率。那么在手动设定学习率的时候不一定准确。 这种人为的设定对于模型的输出影响较大。所以在这里引入了一种自动更新学习率的函数。

    指数衰减学习率exponential_decay

    class tf.train.exponential_decay(learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None)
      """
      实现学习率指数衰减
    
      :param learning_rate:初始的学习率
    
      :param global_step:全局的训练步数(样本学习了多少次)
    
      :param decay_steps:衰减系数(每多少步衰减decay_rate)
    
      :param decay_rate:衰减的速度
    
      :param staircase:默认为False,如果设置为True时,将(global_step / decay_ steps)转换成整数
      """

    那么衰减的公式为learningrate * decay_rate ^ (global_step / decay steps)

    使用

    # 让学习率根据步伐,自动变换学习率,指定了每10步衰减基数为0.99,0.001为初始的学习率
    lr = tf.train.exponential_decay(0.001,
                                    global_step,
                                    10,
                                    0.99,
                                    staircase=True)
    
    # 优化器
    train_op = tf.train.GradientDescentOptimizer(lr).minimize(loss, global_step=global_step)

     

  • 相关阅读:
    IO模型
    opencv操作(二)
    Opencv基于python的基本操作(一)
    Django路由层与视图层、pycharm虚拟环境
    Django实现简单的用户添加、删除、修改等功能
    初识Django
    前端框架Bootstrap
    JQuery
    JavaScript之BOM和DOM
    JavaScript学习笔记
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10069565.html
Copyright © 2011-2022 走看看