2017-10-20 63 views

回答

3

只是定义了两个优化,并在它们之间切换:

sgd_optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) 
adap_optimizer = tf.train.AdamOptimizer(learning_rate).minimize(cost) 
... 
for epoch in range(100): 
    for (x, y) in zip(train_X, train_Y): 
    optimizer = sgd_optimizer if epoch > 50 else adap_optimizer 
    sess.run(optimizer, feed_dict={X: x, Y: y}) 

优化器仅封装的梯度应用到张量的方式,可容纳短短自己的变量。模型权重不存储在优化器中,因此您可以轻松切换它们。