TensorFlow:如何打印在渐变中心测量器中使用的错误值



我是TensorFlow的新手。

我想在TF.Session块中打印错误变量,以查看错误变量的变化。

我在网上找到了这个基本示例,并且想打印这些变量以更好地了解正在发生的事情。

我感谢帮助!

import tensorflow as tf
import numpy as np
# x and y are placeholders for our training data
x = tf.placeholder("float")
y = tf.placeholder("float")
# w is the variable storing our values. It is initialised with starting "guesses"
# w[0] is the "a" in our equation, w[1] is the "b"
w = tf.Variable([1.0, 2.0], name="w")
# Our model of y = a*x + b
y_model = tf.multiply(x, w[0]) + w[1]
# Our error is defined as the square of the differences
error = tf.square(y - y_model)
# The Gradient Descent Optimizer does the heavy lifting
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(error)
# Normal TensorFlow - initialize values, create a session and run the 
model
model = tf.global_variables_initializer()
with tf.Session() as session:
    session.run(model)
    for i in range(100):
        x_value = np.random.rand()
        y_value = x_value * 2 + 6
        session.run(train_op, feed_dict={x: x_value, y: y_value})
        e = session.run(error)
        #****PRINT ERROR VARIABLE?*****
    w_value = session.run(w)
    print("Predicted model: {a:.3f}x + {b:.3f}".format(a=w_value[0], 
b=w_value[1]))

您必须为获得错误值的模型提供馈送:

e = session.run(error, feed_dict={x: x_value, y: y_value})
print(e)

但是,如果占位符,我更喜欢这样做:

import tensorflow as tf
import numpy as np
# x and y are placeholders for our training data
x = tf.placeholder(tf.float32,())
y = tf.placeholder(tf.float32,())
# w is the variable storing our values. It is initialised with starting "guesses"
# w[0] is the "a" in our equation, w[1] is the "b"
w = tf.Variable([1.0, 2.0], name="w")
# Our model of y = a*x + b
y_model = tf.multiply(x, w[0]) + w[1]
# Our error is defined as the square of the differences
error = tf.square(y - y_model)
# The Gradient Descent Optimizer does the heavy lifting
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(error)
# Normal TensorFlow - initialize values, create a session and run the 
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    for i in range(100):
        x_value = np.random.rand()
        y_value = x_value * 2 + 6
        _,e=sess.run([train_op,error], feed_dict={x: x_value, y: y_value})
        print(e)
w_value = sess.run(w)
print("Predicted model: {a:.3f}x + {b:.3f}".format(a=w_value[0], 

b = w_value [1]))

最新更新