import tensorflow as tf
import matplotlib.pyplot as plt #pip install matplotlib
import numpy as np
m_w = 0.2
m_b = 3
trainData = []
for i in range(100):
tr_x = np.random.uniform(0.0, 1.0)
tr_b = np.random.uniform(-0.03, 0.02)
tr_y = tr_x * m_w + m_b + tr_b
trainData.append([tr_x, tr_y])
trainx = [v[0] for v in trainData]
trainy = [v[1] for v in trainData]
w = tf.Variable(tf.random_uniform([1]))
b = tf.Variable(tf.zeros([1]))
y = w*trainx + b
cost = tf.reduce_mean(tf.square(y-trainy))
optimizer = tf.train.GradientDescentOptimizer(0.08)
train = optimizer.minimize(cost)
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
for k in range(500):
sess.run(train)
print('cost=',sess.run(cost),'w=',sess.run(w),'b=',sess.run(b))
print("===ok===")
plt.plot(trainx,trainy,'ro',label='data')
plt.plot(trainx,sess.run(y),label='result')
plt.legend()
plt.show()
结果: