导入tensorflow, numpy包
import tensorflow as tf
import numpy as np
生成数据和模型
#生成数据
x_data = np.random.rand(100)
#理想模型 y = k(0.1) * x_data + b(0.99)
y_data = x_data * 0.1 + 0.99
#假设模型
k = tf.Variable(0.)
b = tf.Variable(0.)
y = k*x_data + b
构建代价函数和优化器
#二次代价函数
loss = tf.reduce_mean(tf.square(y - y_data))
#优化器,学习率采用0.3,为什么是0.3呢?先给个初始值吧
optimizer = tf.train.GradientDescentOptimizer(0.3)
#最小化代价函数
train = optimizer.minimize(loss)
#初始化变量
init = tf.global_variables_initializer()
训练数据和结果
with tf.Session() as sess:
#变量的初始化
sess.run(init)
#训练500次,测试效果
for step in range(500):
sess.run(train)
#每20次打印训练结果
if step%20 == 0:
print(step, sess.run([k, b, loss]))
