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 29 Python
Python中__init__.py文件的作用详解
Sep 18 Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 Python
python3 破解 geetest(极验)的滑块验证码功能
Feb 24 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
Apr 15 Python
详解python中的index函数用法
Aug 06 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
Feb 23 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
python获取整个网页源码的方法
Aug 03 Python
详解Python 3.10 中的新功能和变化
Apr 28 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
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
Javascript Select操作大集合
2009/05/26 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
javascript每日必学之循环
2016/02/19 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
javascript运算符语法全面概述
2016/07/14 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
基于react组件之间的参数传递(详解)
2017/09/05 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
2020/09/11 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
Sublime开发python程序的示例代码
2018/01/24 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
使用python批量修改文件名的方法(视频合并时)
2020/03/24 Python
快速了解Python开发环境Spyder
2020/06/29 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
校园联欢晚会主持词
2014/03/17 职场文书
物理课外活动总结
2014/08/27 职场文书
公司合并协议书范本
2014/09/30 职场文书
大一新生检讨书
2014/10/29 职场文书
英文感谢信范文
2015/01/21 职场文书
关于职业道德的心得体会
2016/01/18 职场文书