tensorflow学习之路---简单的代码

import numpy

import tensorflow as tf

#自己创建的数据

x_data = numpy.random.rand(100).astype(numpy.float32)#创建具有100个元素的数组

y_data = x_data*0.1+0.3#具有自动遍历的功能

##设置神经网络的结构###

Weights = tf.Variable(tf.random_uniform([1],-1,1))

basiss = tf.Variable(tf.zeros([1]))

#模拟我们之前写的数学方程式

y = Weights*x_data+basiss

#比较误差

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

#知道误差,建立优化器,减小误差

optimzier = tf.train.GradientDescentOptimizer(0.5)#其中的数据表示学习效率,一般是小于1的数据

#参数更新

trian = optimzier.minimize(loss)

#以上都是建立神经网络的结构

#下面是训练

#初始化,初始化Variable,才能使用变量

init = tf.global_variables_initializer()

#创建对话可以理解为c++的指针

sess = tf.Session()

#指向结构

sess.run(init)

#训练

for step in range(201):

#指向误差更新,使得它不断的训练

  sess.run(trian)

  if step%20==0:

    print(step,sess.run(Weights),sess.run(basiss))

#初步跑一个简单的神经网络代码:思路:1、创建一个数学方程 2、设置神经网络的结构(1)、设置

两个变量的值,然后仿照第一步数学方程,求出来的结果和第一步求出来的结果比较(2)、比较误差

优化误差,刷新误差 3、开始训练:(1)、初始化结构里面的vairable (2)、创建对话(指针)

然后指向结构(执行)、然后用for语句进行训练

运行结果:

0 [0.03197816] [0.476912]
20 [0.06810132] [0.31761634]
40 [0.09198748] [0.304425]
60 [0.09798737] [0.30111152]
80 [0.09949446] [0.3002792]
100 [0.09987302] [0.30007014]
120 [0.09996811] [0.30001763]
140 [0.099992] [0.30000442]
160 [0.09999802] [0.3000011]
180 [0.0999995] [0.30000028]
200 [0.09999988] [0.30000007]