tensorflow线性回归测试

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()

结果:

tensorflow线性回归测试_第1张图片


你可能感兴趣的:(deeplearning)