TensorFlow 第一个Demo

#coding=utf-8
import tensorflow as tf
import numpy as np

x_data = np.random.rand(3).astype(np.float32)
y_data = x_data * 0.1 + 0.3;
###
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
biases = tf.Variable(tf.zeros([1]))

y = Weights*x_data + biases

loss=tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

init = tf.global_variables_initializer()
###

sess = tf.Session()
sess.run(init)

for step in range(201):
print("Setp:%d", step);
print("Before run Weight: %g ;Biases:%g" %(sess.run(Weights) , sess.run(biases)))
sess.run(train)
print("After run Weight: %g ;Biases:%g" %(sess.run(Weights) , sess.run(biases)))
print("---------------------------------");


我们会看到执行sess.run(train)之后的wight 和 biases 会逐渐靠近我们设定的值。最后在一个很靠近我们设定值的位置趋于稳定。

 

 

loss=tf.reduce_mean(tf.square(y-y_data))

这里是就算我们计算值与真实值的差距。tf.reduce_mean方法会计算数组的平均值,以方便后面的优化函数优化我们的参数。

 

 

loss=tf.reduce_mean(tf.square(y-y_data))optimizer = tf.train.GradientDescentOptimizer(0.5)

这段代码是我们选择的优化我们神经网络参数的优化算法。Tensorflow为我们提供了多种优化算法。后面我们会涉及到。0.5是我们设置的学习效率。

 

train = optimizer.minimize(loss)

这句代码的意思是告诉优化算法,我们要逐渐缩小loss的值。

 

以上我们的TensorFlow神经图就绘制好了。

执行一下代码初始化变量。

init = tf.global_variables_initializer()

 

最后再一个循环中让session不断的按照设计的神经网络训练我们的参数,就逐步得到我们理想的结果了。

 

这只是一个简单的DEMO,帮助初学者理解TensorFlow的运作过程。 

posted @ 2017-11-26 18:36  郭老猫  阅读(1809)  评论(0编辑  收藏  举报