TensorFlow: сколько шагов градиента делается за один вызов session.run()?
Алгоритм градиентного спуска делает несколько шагов к минимумам. У меня вопрос, сколько из этих шагов выполняется для каждого вызова sess.run. Разработать на примере:
Я использую алгоритм градиентного спуска (tf.train.AdamOptimizer) в моей сети. У меня есть такой цикл:
for epoch in range(100):
sess.run(ops['optimizer'],
feed_dict=train_feed_dict
)
Эта эпохальная петля проходит 100 раз. У меня вопрос, если один вызов sess.run делает один маленький шаг к минимумам. ИЛИ, сделано ли более одного шага градиентного приличия для каждой эпохи?
1 ответ
Решение
Если ops['optimizer']
это один вызов tf.train.AdamOptimizer(some_learning_rate).minimize(some_loss)
затем его выполнение будет выполнять ровно один шаг спуска. Таким образом, в вашем цикле будет 100 шагов.