tensorflow的幾種優化器

2022-09-11 13:03:22 字數 495 閱讀 8308

最近自己用cnn跑了下minist,準確率很低(迭代過程中),跑了幾個epoch,我就直接stop了,感覺哪有問題,隨即排查了下,同時查閱了網上其他人的blog,並沒有發現什麼問題

之後copy了一篇別人的**,發現在第二個epoch的時候,準確率已經在80左右了,當時對比了下**,自己的**是沒有問題的,問題出在哪?

經過排查,找到了問題,我使用pycharm編寫的,在train的優化演算法的選取上,沒有注意,直接用**補全,選用的是adadelta(這樣的問題真的是蛋疼!!!!),之後我將優化器改為了adam,結果是沒有問題的,同樣的學習率adadelta準確率非常低,原因是迭代的非常慢。引入了今天的主題,我們應該怎麼選取optimizer,不同的optimizer之間有哪些區別?

引入了今天的主題,關於tensorflow中幾種優化演算法。。。。。。

咱們討論的optimizer是基於bgd,sgd,mini-batch gradient的基礎之上,進行討論的。感興趣的同學可以自己查閱相關資料。。。。。。

tensorflow中的優化函式

gradientdescentoptimizer adagradoptimizer adagraddaoptimizer momentumoptimizer adamoptimizer ftrloptimizer rmspropoptimizer 主要有以上幾種 用法 tf.gradientdesc...

tensorflow的優化器比較

標準梯度下降法 彙總所有樣本的總誤差,然後根據總誤差更新權值 隨機梯度下降 隨機抽取乙個樣本誤差,然後更新權值 每個樣本都更新一次權值,可能造成的誤差比較大 批量梯度下降法 相當於前兩種的折中方案,抽取乙個批次的樣本計算總誤差,比如總樣本有10000個,可以抽取1000個作為乙個批次,然後根據該批次...

tensorflow中的優化器

1.tf.train.gradientdescentoptimizer 標準梯度下降優化器 標準梯度下降先計算所有樣本彙總誤差,然後根據總誤差來更新權值 2.tf.train.adadeltaoptimizer adadelta優化器,在sgd的基礎上 3.tf.train.adagradoptim...