tensorflow学习笔记之简单的神经网络训练和测试


Posted in Python onApril 15, 2018

本文实例为大家分享了用简单的神经网络来训练和测试的具体代码,供大家参考,具体内容如下

刚开始学习tf时,我们从简单的地方开始。卷积神经网络(CNN)是由简单的神经网络(NN)发展而来的,因此,我们的第一个例子,就从神经网络开始。

神经网络没有卷积功能,只有简单的三层:输入层,隐藏层和输出层。

数据从输入层输入,在隐藏层进行加权变换,最后在输出层进行输出。输出的时候,我们可以使用softmax回归,输出属于每个类别的概率值。借用极客学院的图表示如下:

tensorflow学习笔记之简单的神经网络训练和测试

其中,x1,x2,x3为输入数据,经过运算后,得到三个数据属于某个类别的概率值y1,y2,y3. 用简单的公式表示如下:

tensorflow学习笔记之简单的神经网络训练和测试

在训练过程中,我们将真实的结果和预测的结果相比(交叉熵比较法),会得到一个残差。公式如下:

tensorflow学习笔记之简单的神经网络训练和测试

y是我们预测的概率值,y'是实际的值。这个残差越小越好,我们可以使用梯度下降法,不停地改变W和b的值,使得残差逐渐变小,最后收敛到最小值。这样训练就完成了,我们就得到了一个模型(W和b的最优化值)。

完整代码如下:

import tensorflow as tf
import tensorflow.examples.tutorials.mnist.input_data as input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
x = tf.placeholder(tf.float32, [None, 784])
y_actual = tf.placeholder(tf.float32, shape=[None, 10])
W = tf.Variable(tf.zeros([784,10]))    #初始化权值W
b = tf.Variable(tf.zeros([10]))      #初始化偏置项b
y_predict = tf.nn.softmax(tf.matmul(x,W) + b)   #加权变换并进行softmax回归,得到预测概率
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_actual*tf.log(y_predict),reduction_indies=1))  #求交叉熵
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)  #用梯度下降法使得残差最小

correct_prediction = tf.equal(tf.argmax(y_predict,1), tf.argmax(y_actual,1))  #在测试阶段,测试准确度计算
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))        #多个批次的准确度均值

init = tf.initialize_all_variables()
with tf.Session() as sess:
  sess.run(init)
  for i in range(1000):        #训练阶段,迭代1000次
    batch_xs, batch_ys = mnist.train.next_batch(100)      #按批次训练,每批100行数据
    sess.run(train_step, feed_dict={x: batch_xs, y_actual: batch_ys})  #执行训练
    if(i%100==0):         #每训练100次,测试一次
      print "accuracy:",sess.run(accuracy, feed_dict={x: mnist.test.images, y_actual: mnist.test.labels})

每训练100次,测试一次,随着训练次数的增加,测试精度也在增加。训练结束后,1W行数据测试的平均精度为91%左右,不是太高,肯定没有CNN高。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现判断一个字符串是否包含子串的方法总结
Nov 21 Python
Python 将Matrix、Dict保存到文件的方法
Oct 30 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
Python可变和不可变、类的私有属性实例分析
May 31 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
May 26 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
python raise的基本使用
Sep 10 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
python实现商品进销存管理系统
May 30 Python
Pytorch入门之mnist分类实例
Apr 14 #Python
pytorch构建网络模型的4种方法
Apr 13 #Python
Python输入二维数组方法
Apr 13 #Python
Python基于递归实现电话号码映射功能示例
Apr 13 #Python
Python的多维空数组赋值方法
Apr 13 #Python
python多维数组切片方法
Apr 13 #Python
Python实现判断并移除列表指定位置元素的方法
Apr 13 #Python
You might like
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
js function定义函数使用心得
2010/04/15 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
Python数据类型详解(一)字符串
2016/05/08 Python
python基础教程之五种数据类型详解
2017/01/12 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
在django模板中实现超链接配置
2019/08/21 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
财务管理专业应届毕业生求职信
2013/09/22 职场文书
工作中的自我评价如何写好
2013/10/28 职场文书
企业内部培训方案
2014/02/04 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
《没有任何借口》读后感:完美的执行能力
2020/01/07 职场文书