tf.trarin
来源:互联网 发布:淘宝发货默认快递公司 编辑:程序博客网 时间:2024/05/22 03:05
tf.train.ExponentialMovingAverage(decay, num_updates=None)
step = tf.Variable(0, trainable=False)var1 = tf.Variable(0, dtype=tf.float32)var2 = tf.Variable(0, dtype=tf.float32)MOVING_AVERAGE_DECAY = 0.99ema = tf.train.ExponentialMovingAverage(MOVING_AVERAGE_DECAY, step) # 定义一个滑动平均的类emamaintain_averages_op = ema.apply([var1, var2])# 对需要更新的参数条用ema的apply方法with tf.Session() as sess: init_op = tf.global_variables_initializer() sess.run(init_op) sess.run([tf.assign(var1, 5), tf.assing(var2, 10)]) sess.run(maintain_averages_op) # var1=0.1*0+0.9*5=4.5, var2=0.1*0+0.9*10=9 # sess.run()使得所有的变量更新 sess.run(tf.assign(step, 100000)) sess.run(maintain_averages_op) # var1=0.01*4.5+0.99*5, var2=0.01*9+0.99*5 print(sess.run(var1, var2, [ema.average(var1), ema.average(var2)])) # =>[5, 10, 4.505001, 9.1010002] # 滑动平均不会改变变量本身的值(var1=5,var2=10),而是维护一个影子变量来记录其滑动平均值,可以条用ema的average方法得到其影子值
tf.train.exponential_decay(learning_rate, global_step, decay_steps, decat_rate, staircase=False)
指数衰减学习率
学习率决定了参数每次更新的幅度,如果学习率过大,会导致参数在最优值两侧来回移动;如果学习率过小,会大大降低优化速度。Tensorflow中的tf.train.expontial_decay实现了指数衰减学习率,其更新公式为:
decay_step通常设置为完整使用一遍训练数据所需要的迭代轮数,即
tf.train.expontial_decay函数中参数staircas设置为True时,会对
只有遍历完一遍样本数据,学习率才减小一次,即所有训练数据对模型训练(参数更新)有同等的作用。当staircase设置为False(默认)时,学习率是连续函数。
global_step = tf.Variable(0)learning_rate = tf.train.exponential_decay(0.05, global_step, 100, 0.99, staircase=True)# 在minimize中传入global_step将自动更新global_step参数,从而使得学习率得到相应更新。train_step = tf.train.GradentDescenOptimizer(learning_rate).minimize(loss, global_step=global_step)
阅读全文
0 0
- tf.trarin
- TF
- tf
- tf.scatter_update tf.scatter_sub
- tf.get_variable tf.variable_scope tf.name_scope
- TF/IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- TF-IDF
- tf-idf
- 基于负采样的skip-garm的语言模型实现-R
- Linux下chkconfig命令详解
- 死锁的出现条件
- KNN算法的总结
- Spring_03_Bean 延迟加载
- tf.trarin
- springboot(4) 项目中全局异常的处理
- 智能指针简介
- 漫步最优化十二——局部极小与极大的充分必要条件(下)
- (Swift) iOS Apps with REST APIs(三) -- 使用Alamofire和SwiftyJSON进行REST API调用
- 实现一个JSP项目,要不断积累错误,记录错误类型
- python--write video
- JAVA设计计算器——加减乘除
- @Value