滑动平均模型
2017-11-29 14:30
288 查看
滑动平均模型:在一定程度下提高最终模型在测试数据上的表现。
函数实现:tf.train.ExponentialMovingAverage()
例子:
结果:
[0.0, 0.0]
[5.0, 4.5]
[10.0, 4.5549998]
[10.0, 4.6094499]
函数实现:tf.train.ExponentialMovingAverage()
例子:
import tensorflow as tf #step1:定义一个变量用于计算滑动平均;初始值=0;数据类型:float32 v1=tf.Variable(0,dtype=tf.float32) #step2:定义一个变量用于模拟神经网络中迭代次数;可用于动态控制衰减率 step=tf.Variable(0,trainable=False) #step3:定义一个滑动平均的类(class);初始化时,decay(衰减率)=0.99; ema=tf.train.ExponentialMovingAverage(0.99,step) #step4:定义一个更新变量滑动平均的操作; #需要给定一个列表;每次执行这个操作时这个列表中的变量都会被更新 #apply()函数:可以理解为一个数据传递函数;将v1中的值传递给ema。 maintain_averages_op=ema.apply([v1]) #step5:创建会话 with tf.Session() as sess: init=tf.global_variables_initializer() sess.run(init) #通过ema.average(v1)获取滑动平均之后变量的取值 #在初始化之后变量v1的值和v1的滑动平均都为0 print(sess.run([v1,ema.average(v1)])) #更新变量v1的值到5 sess.run(tf.assign(v1,5)) #更新v1的滑动平均值 sess.run(maintain_averages_op) print(sess.run([v1,ema.average(v1)])) #更新step的值为10000 sess.run(tf.assign(step,10000)) #更新v1的值为10 sess.run(tf.assign(v1,10)) sess.run(maintain_averages_op) print(sess.run([v1,ema.average(v1)])) sess.run(maintain_averages_op) print(sess.run([v1,ema.average(v1)]))
结果:
[0.0, 0.0]
[5.0, 4.5]
[10.0, 4.5549998]
[10.0, 4.6094499]
相关文章推荐
- Tensorflow中提供tf.train.ExponentialMovingAverage函数实现(滑动平均模型)
- tensorflow 下的滑动平均模型 —— tf.train.ExponentialMovingAverage
- TensorFlow优化之滑动平均模型
- TensorFlow实战系列8--滑动平均模型
- Tensorflow深度学习之九:滑动平均模型
- tensorflow07 《TensorFlow实战Google深度学习框架》笔记-04-05滑动平均模型
- 滑动平均模型
- Tensorflow 实战google深度学习框架 07 滑动平均模型
- tensorflow--滑动平均模型
- 神经网络的滑动平均模型
- TensorFlow中滑动平均模型介绍
- tensorflow 滑动平均模型
- 78、tensorflow滑动平均模型,用来更新迭代的衰减系数
- (Tensorflow之六)滑动平均模型ExponentialMovingAverage
- 金融时间序列分析:7. MA滑动平均模型
- 78、tensorflow滑动平均模型,用来更新迭代的衰减系数
- TensorFlow 滑动平均的示例代码
- 模式识别之概率分布---平均分布,正态分布,一阶滑动和,一阶线性回归 C语言编程
- 滑动平均法、滑动平均模型法(Moving average,MA)
- 滑动平均滤波法和中位值平均滤波法分析