tensorflow实现手写体数字识别。
更新日期:2021-08-12 07:43  雨后彩虹_旺远  点击:
tensorflow实现手写体数字识别

之前在人工智能课上自己手动搭建过一个BP神经网络实现MNIST数据集的手写体字体识别,使用的是c++,最终准确率的上限在95%至96%左右(毕竟水平有限)。这次不一样了,使用tensorflow进行实验,准确率确实提高了不少。可能有人会觉得tensorflow有点过时,现在的大企业不怎么用tensorflow了,但我觉得,对于初学者来说,tensorflow还是不错的选择。

实验环境
ubuntu 16.04
python 2.7.13
tensorflow 1.3.0
MNIST数据集
我不清楚windows下可不可以装tensorflow,反正很久以前是不行,现在好像可以了???

总体框架
主要分为三个部分如下:

前向传播过程(mnist_forward.py)
进行网络参数优化方法的反向传播过程 ( mnist_backward.py )
验证模型准确率的测试过程(mnist_test.py)
每个部分都单独写成了一个模块文件。

实例化具有滑动平均的 saver 对象,从而在会话被加载时,模型中的所有参数被赋值为各自的滑动平均值,增强模型的稳定性

操作步骤
可能你已经注意到了,mnist_forward.py中并没有main函数(说明这个文件只是一个模块用来被其他文件调用,本例中是mnist_backward.py调用了mnist_forward.py),而另两个文件都有main函数。

终端输入python mnist_backward.py,开始训练,会显示实时的损失值,如:after 15005 training steps, loss on training batch is 0.159981
再开一个终端,输入python mnist_test.py,进行同步的测试(每五秒一次),会显示实时的损失值,如:after 15005 training steps, test accuracy = 0.979
实验结果

域名查询专业人士表示代码里设置的总循环数是50000次,但是我只跑到15000次(毕竟时间比较久),但已经能有98%的准确率了,如果全跑完的话,预计能达到99%以上。
  • googel cloud 修改ssh 连接密码。

    googel cloud 修改ssh 连接密码 说明:Google Compute Engine创建的VM实例(以下简称GCE)默认ssh key登陆并禁用了root。 域名查询 专业人士表示开启会降低登陆安全性 开启步骤 1.在GCE VM实例列表中,选择在浏览器窗口中打开访问实例 2.切换到root账户 sudo su 3.修改...

  •  tensorflow实现手写体数字识别。
  • tensorflow实现手写体数字识别。

    tensorflow实现手写体数字识别 之前在人工智能课上自己手动搭建过一个BP神经网络实现MNIST数据集的手写体字体识别,使用的是c++,最终准确率的上限在95%至96%左右(毕竟水平有限)。这次不一样了,使用tensorflow进行实验,准确率确实提高了不少。可能有人会觉得tensor...

  • 腾讯云 AIA 的特性。

    腾讯云 AIA 的特性 低时延 AIA 用 Anycast 的方式同时把 IP 发布到多个地域,请求包根据传输协议会到达最优的 IP 发布地域,优先进入腾讯云,然后走腾讯云的内网专线到达主机,避开公网的拥堵,达到减少时延的效果。 高可靠 公网传输是不可靠的传输,而运营商线路中断...