玩转TensorFlow那些事之第一段代码

玩转TensorFlow那些事之第一段代码
代码介绍:
         下面的代码是学习TensorFlow的第一个实例代码,该代码中定义了一个函数y_data = X_data*0.1+0.3,然后又预设了一个函数y = Weights*X_data +biases,将这个函数和原来确定的函数都让X_data从(0-100)中随机取数,将计算结果做差,创建优化器,设定学习效率,然后进行训练让两个函数的差值最小,代码的最后让这个优化器训练201次,并每隔20步将需练中的Weights和biases的值显示出来。
#-*-coding:utf-8-*-
'''
Created on 2017年6月20日

@author: Administrator
'''
import tensorflow as tf
import numpy as np
#creat data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1 + 0.3

###creat tensorflow structure start###
Weights = tf.Variable(tf.random_uniform([1], -1.0,1.0))#一维的(-1,1)的随机值
biases = tf.Variable(tf.zeros([1]))#初始值是一维的0

y = Weights*x_data +biases#预测的y,提升准确度

loss = tf.reduce_mean(tf.square(y-y_data))#计算预测的y和实际y的差别
optimizer = tf.train.GradientDescentOptimizer(0.5)#建立优化器。0.5是学习效率,一般是0-1的数
train = optimizer.minimize(loss)#使用优化器去减少误差。

init = tf.initialize_all_variables()#初始化网络
###craet tensorflow structure end###

sess = tf.Session() #
sess.run(init)      #Session像是一个指针指到要激活的地方,通过这个指针来激活整个网络

for step in range(201):
    sess.run(train) #开始训练
    if step%20 == 0:#每隔20步来打印一下
        #输出当前是第几步,还有Weight,biases
        print(step,sess.run(Weights),sess.run(biases))
运行结果:


又实验结果可以看出来,Weights的值和biases的值在分向着设定的函数中的0.1和0.3逼近。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章