代码:
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
#dot
X_dot=np.linspace(-1,1,100)
Y_dot=3*X_dot+6+np.random.randn(*X_dot.shape)*0.2
X=tf.placeholder("float")
Y=tf.placeholder("float")
w=tf.Variable(0.0,name="weight")
b=tf.Variable(0.0,name="bias")
loss=tf.square(Y-X*w-b)
train_op=tf.train.GradientDescentOptimizer(0.01).minimize(loss)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
echo=1
for i in range(10):
for (x,y)in zip(X_dot,Y_dot):
_,Loss,W,B=sess.run([train_op,loss,w,b],feed_dict={Y:y,X:x})
print("echo:",echo," w:",W," b:",B," loss:",Loss)
echo+=1
plt.plot(X_dot,Y_dot)
plt.plot(X_dot,X_dot*W+B)
plt.show()
运行结果:
echo: 1 w: 0.222561 b: 6.07669 lo