0

私は衰える学習率を読んでいて、ドキュメントに間違いがあり、確認したいと思っていました。これは、減衰式であることを言う:TensorFlowのウェブサイトで学習率を減衰させる例は実際に学習率を低下させますか?

decayed_learning_rate = learning_rate * decay_rate ^(global_step/decay_steps)

しかし、global_step = 0場合、私は減衰が右、決してありません推測するだろうか?しかし、例を見て:

... 
global_step = tf.Variable(0, trainable=False) 
starter_learning_rate = 0.1 
learning_rate = tf.train.exponential_decay(starter_learning_rate, global_step, 
              100000, 0.96, staircase=True) 
# Passing global_step to minimize() will increment it at each step. 
learning_step = (
    tf.GradientDescentOptimizer(learning_rate) 
    .minimize(...my loss..., global_step=global_step) 
) 

それはゼロに等しく設定されるglobal_step = tf.Variable(0, trainable=False)を持っています。従って、崩壊はない。これは正しい控除ですか?

私は、階段関数がtrueに設定されているときに整数除算の警告があるかもしれないと思っていましたが、まだ減衰がないように見える整数除算であっても。それとも、階段が何をしているのか誤解していますか?

+0

は、それが渡され、そのちょうどゼロで開始しているステップの数だけありますか? :/ – Pinocchio

答えて

2

変数global_stepminimize関数に渡され、トレーニング操作learning_stepが実行されるたびに増分されます。

それも、あなたのコードの解説に書かれている:

# Passing global_step to minimize() will increment it at each step.

+0

私は最初にそれを通過して登録していないと思います。ありがとう! – Pinocchio

関連する問題