码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-08-01 01:02:27      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:session   对话   min   初步   red   variables   a*   方程式   step   

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]

 

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

标签:session   对话   min   初步   red   variables   a*   方程式   step   

原文地址:https://www.cnblogs.com/MyUniverse/p/9399026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!