用一个最简单的线性函数理解tensorflow

#-*- 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))

你可能感兴趣的:(用一个最简单的线性函数理解tensorflow)