假设最小化函数 y = x2 , 选择初始点 x0= 5
1. 学习率为1的时候,x在5和-5之间震荡。
1 #学习率为1 2 3 import tensorflow as tf 4 training_steps = 10 5 learning_rate = 1 6 x = tf.Variable(tf.constant(5, dtype=tf.float32),name="x") 7 y = tf.square(x) 8 9 train_op = tf.train.GradientDescentOptimizer(learning_rate).minimize(y) 10 11 with tf.Session() as sess: 12 sess.run(tf.global_variables_initializer()) 13 for i in range(training_steps): 14 sess.run(train_op) 15 x_value = sess.run(x) 16 print("After %s iteration(s): x%s is %f."%(i+1,i+1,x_value)) 17 18 19 #输出结果: 20 After 1 iteration(s): x1 is -5.000000. 21 After 2 iteration(s): x2 is 5.000000. 22 After 3 iteration(s): x3 is -5.000000. 23 After 4 iteration(s): x4 is 5.000000. 24 After 5 iteration(s): x5 is -5.000000. 25 After 6 iteration(s): x6 is 5.000000. 26 After 7 iteration(s): x7 is -5.000000. 27 After 8 iteration(s): x8 is 5.000000. 28 After 9 iteration(s): x9 is -5.000000. 29 After 10 iteration(s): x10 is 5.000000.