根据TENSORFLOW中的if语句使用不同的优化器

时间:2018-07-11 11:18:19

标签: tensorflow optimization neural-network initializer loss

我目前正在尝试通过两个训练步骤来实现神经网络。首先,我想减少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

考虑到我希望优化器依赖于时代,我该如何解决此问题...

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我发现了!很简单...

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)