#调用库名
import tensorflowas tf
import numpyas np
#模拟生成100对数据对 对应的函数为y= x *0.1 +0.3
x_data = np.random.rand(100).astype('float32')
y_data = x_data *0.1 +0.3
#0.1 = w 0.3表示b 防止过拟合
#指定w和b变量的取值范围 定义变量W b
W = tf.Variable(tf.random_uniform([1],-1.0,1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data +b
#定义损失函数 预测值 是 y 准确的y_date 用预测值减去实际值 差多少等于损失多少
#最小化均方差
loss = tf.reduce_mean(tf.square(y-y_data))
#opeimizer 找到曲线的最低点 ==损失函数的最小值
opeimizer = tf.train.GradientDescentOptimizer(0.5)
#保证loss为最小的
train = opeimizer.minimize(loss)
#初始化tensorflow参数
init = tf.initialize_all_variables()
#运行数据流图 (开始执行计算过程)
sess = tf.Session()
sess.run(init)
#观察多次迭代计算时,w和b的拟合值
sum =0
for stepin range(201):
l,w =sess.run([loss,W])
print("loss is %s,%s" % (l,w))
sum +=(loss)
print(sess.run(sum/201))
网友评论