#-*- coding:utf-8 -*-
importtensorflowastf
importnumpyasnp
x_data = np.random.rand(100).astype(np.float32)#tensorflow的内部数据大多是float的32位 因此要转化
y_data = x_data*0.1+0.3
###创建tensorflow的结构
Weight = tf.Variable(tf.random_uniform(([1]),-1.0,1.0))#权值的初始值是一个随机数列,随机数列的范围在-1.0~1.0
biase = tf.Variable(tf.zeros([1]))#偏执量初始值是1
y = Weight*x_data + biase
loss = tf.reduce_mean(tf.square(y-y_data))#比较实际情况的值 和当下的值 得到误差损失 一开始会很大 之后用优化器 去减少误差 每一次循环减少一点误差
optimizer = tf.train.GradientDescentOptimizer(0.5)#优化器 这个参数是一个学习效率 是一个小于1的数 使用0.5
train = optimizer.minimize(loss)
init = tf.initialize_all_variables()#建立所有的结构后 但是还没初始化 此处就是在初始化结构
###创建tensorflow的结构
sess = tf.Session()
sess.run(init)#初始化 激活这个结构
forstepinrange(201):
sess.run(train)
ifstep %20==0:
print(step,sess.run(Weight),sess.run(biase))