Используйте разные оптимизаторы в зависимости от оператора if в TENSORFLOW.

В настоящее время я пытаюсь реализовать нейронную сеть с двумя этапами обучения. Сначала я хочу уменьшить функцию loss_first_part, а затем я хочу уменьшить функцию loss_second_part.

tf.global_variable_initializer().run()

for epoch in range(nb_epochs)
    if epoch < 10 : 
       train_step = optimizer.minimize(loss_first_part)
    else :
       train_step = optimizer.minimize(loss_second_part)

Проблема в том, что инициализатор должен быть определен после вызова optimizer.minimize. Действительно, у меня есть следующая ошибка Attempting to use unintialized value betal_power.

Как я могу решить эту проблему, учитывая, что я хочу, чтобы мой оптимизатор зависел от эпохи...

Большое спасибо за твою помощь !


person Tbertin    schedule 11.07.2018    source источник


Ответы (1)


Я обнаружил ! Так просто...

train_step1 = optimizer.minimize(loss_first_part)
train_step2 = optimizer.minimize(loss_second_part)
tf.global_variable_initializer().run()

if ... :
   sess.run(train_step1)
else :
   sess.run(train_step2)
person Tbertin    schedule 12.07.2018