import tensorflow as tf
import numpy as np
#使用numpy生成100个随机点
x_data=np.random.rand(100)
y_data=x_data*0.1+0.2
#构建一个线性模型
b=tf.Variable(0.)
k=tf.Variable(0.)
y=k*x_data+b
#二次代价函数,y_data-y的平方累加再取平均数
loss=tf.reduce_mean(tf.square(y_data-y))
#定义一个梯度下降法来进行优化器,0.2为学习率
optimizer=tf.train.GradientDescentOptimizer(0.2)
#最小化代价函数
train=optimizer.minimize(loss)
#初始化变量
init=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for step in range(201):
sess.run(train)
if step%20==0:
print(step,sess.run([k,b]))
运算结果为:
0 [0.057682134, 0.10132799] 20 [0.10607995, 0.19651425] 40 [0.10344628, 0.19802421] 60 [0.10195344, 0.19888006] 80 [0.10110728, 0.19936518] 100 [0.10062763, 0.19964017] 120 [0.10035577, 0.19979604] 140 [0.10020166, 0.19988438] 160 [0.10011431, 0.19993447] 180 [0.10006479, 0.19996285] 200 [0.10003671, 0.19997896]