tf.train.ExponentialMovingAverage
http://blog.csdn.net/uestc_c2_403/article/details/72235334
tf.train.ExponentialMovingAverage(decay, steps)
tf.train.ExponentialMovingAverage這個函數用于更新參數,就是采用滑動平均的方法更新參數。這個函數初始化需要提供一個衰減速率(decay),用于控制模型的更新速度。這個函數還會維護一個影子變量(也就是更新參數后的參數值),這個影子變量的初始值就是這個變量的初始值,影子變量值的更新方式如下:
shadow_variable = decay * shadow_variable + (1-decay) * variable
shadow_variable是影子變量,variable表示待更新的變量,也就是變量被賦予的值,decay為衰減速率。decay一般設為接近于1的數(0.99,0.999)。decay越大模型越穩定,因為decay越大,參數更新的速度就越慢,趨于穩定。
tf.train.ExponentialMovingAverage這個函數還提供了自己動更新decay的計算方式:
decay= min(decay,(1+steps)/(10+steps))
steps是迭代的次數,可以自己設定。
比如:
[python]?view plain?copy
[0.0, 0.0]
[5.0, 4.5]
[10.0, 4.5549998]
[10.0, 4.6094499]
解釋:每次更新完以后,影子變量的值更新,varible的值就是你設定的值。如果在下一次運行這個函數的時候你不在指定新的值,那就不變,影子變量更新。如果指定,那就variable改變,影子變量也改變
總結
以上是生活随笔為你收集整理的tf.train.ExponentialMovingAverage的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机考研310分什么水平,知乎工学考研
- 下一篇: java cxf 工具_利用CXF工具开