零基础无理论实战Mnist手写字库模型训练并输出结果
来源:互联网 发布:厦门天心软件 编辑:程序博客网 时间:2024/06/07 06:19
一直想着要更新博客,但是博主穿梭在秋招的千军万马之中,平日里在公司实习,一有空又得准备笔试,周末又穿梭于各种宣讲会、招聘会之中,最近终于才慢慢地稳定下来,才有时间下来码一篇博客。事实上,也是在纠结要写什么样的博客,做什么样的尝试,才能够写一篇可供自己备份,又能够和网友们进行良好交流的博文,也希望大家能留言,或者加我的微信,交流学习。
由于实习的原因,现在在做人工智能方面的学习,所以今天给大家带来一个比较新鲜流的东西,也旨在训练自己的知识迁移能力。
都说Mnist手写字库是人工智能,深度学习的HelloWorld,对它产生了无比的好奇之心,也以为可能就花它个一天两个就能跑得开的事情,那么就动手做吧。当然,首先是去搜索各种各样的学习资料。但是,大多的资料都是这样的(讲一些基础概念、介绍等):
好吧,虽然写得已经够简单,但是看完之后,又没有操作,程序跑起来似乎也没有得到感性的认知,到底,训练是怎么训练?程序是怎么跑?我该怎样才能够输入一个手写体,然后直接出来一个数字?甚至,我该怎么去应用我所训练好的这个模型,然后供给实际应用,让它可以给其他程序调用,甚至在手机上跑?
当然,巧妇难为无米之炊,首先,我们得有数据,这个已经是有公开的数据集了,所以我们直接下载就行了。然后,还要有一个模型训练脚本,还有一个预测数的脚本。这个我会打包上传到资源文件供大家下载(页末,为了赚点C币下载东西,没有C币的同学加我微信,我可以免费发给你,见谅)。如下:
配置环境的事我就不说了,这里边坑很多,我这里是安装了Anaconda2,然后python35,还有装了Tensorflow、Pillow等模块,这个,大家折腾一下就好了。
当然,首先肯定是模型训练,打开create_model_2.py,然后,你的数据包下载下来可能是.gz命名的压缩包,这里,你需要把它解压出来,也就是上图所示的.idx3-ubyte,idx1-ubyte形式,关于这个文件的数据格式,建议可以查阅相关博客,有个概念。
假如你没有解压的话,会出现以下的错误:array is too big,而且数据量惊人,这肯定是有问题的。
在代码的32行,修改地址为自己数据的位置,建议使用相对路径,而且路径不要包含有中文字符。
如果,然后,运行。第一次看控制台打消息会这么激动:
但是,帅不过三秒,等到跑到两20000的时候,就报错了,我的天,这都跑了大半个小时了,到嘴的鸭子就这么飞了。 Parent directory of model2.ckpt dosen’t exist,cant save……
在网上找了一下原因,后来,我补充了这么几句,然后,把原来的注释掉,然后跑去吃饭。
回来后,奇迹发生了,Output里多了几个文件,这就是训练好的模型,供预测使用:
打开predict_2.py,然后在97行,导入刚刚训练好的模型。也就是model2.ckpt文件。
好了,然后这就可以正常地去预测照片了。我们来试一下吧。
在运行前,添加参数,也可以直接在命令行执行。填入一张图片的地址。这里我的图片在同一目录,所以,就直接写文件名就可以了。确定后,开始执行……
结果为6:
好了,整个调试的过程就是这样。自己操作了整个过程,体验了深度学习流程的操作,还是深深佩服发明深度学习的人。作为学习者,当然我们不能因为畏难就想投机取巧,该走的路还是要走,该埋下头下来啃的东西,还是要慢慢看,慢慢体会,沉下心来学习,才会有进步。这篇博客,虽然含量不高,但是调通一个过程还是大大增强我的学习兴趣,接下来还会进入深入的学习。后期会安排把它应用到安卓平台上边去。做一些比较酷的应用。
加油,共勉!
训练脚本和测试脚本及相关数据下载,没C币同学请联系我微信。
- 零基础无理论实战Mnist手写字库模型训练并输出结果
- mnist训练的cnn模型测试自己的手写数字
- caffe mnist实战训练(4)训练得出模型
- 手写mnist项目pycaffe实战
- Caffe实战:LeNet模型训练测试MNIST数据集
- Caffe学习总结(四)——使用mnist训练模型识别一张手写数字图像
- 使用caffemodel模型(由mnist训练)测试单张手写数字样本
- caffe(一): 利用自带MNIST例程训练手写字符识别模型
- caffe(二): 利用训练好的MNIST模型测试自己的手写字符图片
- mnist训练与测试自己手写数字
- tensorflow之MNIST手写字符集训练可视化
- Tensorflow训练神经网络实现mnist手写识别
- 训练Tensorflow识别手写数字 mnist
- caffe实战三:自己手写数字图片通过mnist的caffe模型进行分类
- Windows玩转Caffe(三):由图片训练mnist模型,并用其模型识别手写数字【多图出品】
- Tensorflow训练卷积神经网络并保存模型,加载模型并导入手写图片测试
- TensorFlow实战—mnist手写数字识别
- 训练MNIST数据集模型
- 本地存取bitmap
- UE4 第三人称完全流程
- czl的知识点整理4——线段树
- Angularjs 利用 $modal 实现 confirm 弹窗
- xcode 打印内存中的值
- 零基础无理论实战Mnist手写字库模型训练并输出结果
- 20171106
- 创建类Person和对象
- 组建一台计算机5_硬件5 多位存储器&累加器&初始汇编(1)
- angular中mvvm模式
- HDU3594:Cactus(Tarjan)
- Linux中的squid实验(代理服务器)
- 框架出现异常
- mysql数据库引擎介绍和oracle模式介绍