tensorflow基础教程(三)
一个小实例:构建一个线性模型并对它进行训练,使结果更接近真实结果
import tensorflow as tf
import numpy as np
#用numpy生成100个随机点
x_data = np.random.rand(100)
y_data = x_data*0.1+0.2
#构造一个线性模型
k = tf.Variable(0.)
b = tf.Variable(0.)
y = k*x_data + b
#二次代价函数
loss = tf.reduce_mean(tf.square(y_data-y))
#定义一个梯度下降法的优化器
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): #训练201次
sess.run(train)
if step%20 == 0: #每20次打印一次
print(step,sess.run([k,b]))
结果为:
0 [0.05486846, 0.10042467]
20 [0.10415289, 0.19771954]
40 [0.10235147, 0.1987088]
60 [0.10133146, 0.19926888]
80 [0.100753896, 0.19958603]
100 [0.100426875, 0.19976561]
120 [0.10024168, 0.1998673]
140 [0.10013685, 0.19992486]
160 [0.10007749, 0.19995745]
180 [0.10004387, 0.19997591]
200 [0.10002486, 0.19998635]