python小练习(084):基于keras快速搭建神经网络(进阶篇)之卷积神经网络(CNN)
本帖最后由 jerryxjr1220 于 2017-3-27 13:23 编辑之前几个python小练习讲解了用keras怎样快速搭建神经网络,后面几期python小练习仍然会继续介绍keras的多种神经网络搭建方法,并且如何运用到实际生活中解决各种机器学习的问题。
今天我来介绍如何用keras搭建卷积神经网络(CNN)。
CNN,称作卷积神经网络,目前广泛被运用到,图像识别、声音识别、视频识别等等领域,大名鼎鼎的AlphaGo就是运用CNN进行围棋棋局的学习及预测(下棋,其实就是一种对棋局最优策略的预测)。
今天我们仍然使用上次的手写数字图片识别的例子(主要是现成的数据源,使用比较方便,如果你手头正好有其他图像数据源需要识别,也可以自行替换)。
先看CNN识别的结果吧。
Using TensorFlow backend.
~~~~Training~~~~
Epoch 1/2
32/60000 [..............................] - ETA: 189s - loss: 2.2962 - acc: 0.0938
160/60000 [..............................] - ETA: 58s - loss: 2.2875 - acc: 0.1125
320/60000 [..............................] - ETA: 43s - loss: 2.2708 - acc: 0.1906
448/60000 [..............................] - ETA: 37s - loss: 2.2416 - acc: 0.2321
576/60000 [..............................] - ETA: 34s - loss: 2.2075 - acc: 0.2778
...
...
...
59072/60000 [============================>.] - ETA: 0s - loss: 0.0760 - acc: 0.9762
59200/60000 [============================>.] - ETA: 0s - loss: 0.0760 - acc: 0.9763
59360/60000 [============================>.] - ETA: 0s - loss: 0.0760 - acc: 0.9763
59520/60000 [============================>.] - ETA: 0s - loss: 0.0760 - acc: 0.9763
59648/60000 [============================>.] - ETA: 0s - loss: 0.0760 - acc: 0.9763
59840/60000 [============================>.] - ETA: 0s - loss: 0.0759 - acc: 0.9763
60000/60000 [==============================] - 23s - loss: 0.0760 - acc: 0.9762
~~~~Evaluation~~~~
...
...
...
8128/10000 [=======================>......] - ETA: 0s
8608/10000 [========================>.....] - ETA: 0s
9184/10000 [==========================>...] - ETA: 0s
9728/10000 [============================>.] - ETA: 0s
loss: 0.059996, accuracy: 0.979600
可以看到,运用卷积神经网络,最终的识别正确率可以接近98%
源代码及注解如下:
**** Hidden Message *****
下一期会继续讲解“基于keras搭建的循环神经网络”,敬请期待! cnn好东西 朝圣了,太牛了 感谢分享 学习下 感谢作者,回复下看看 看代码 学习一下 学习学习{:10_256:} {:10_277:} 看看
{:5_91:} 好 学习学习 特意来学习CNN的
朝圣了,太牛了 很好 6666 特意过来学习python, 同时学习神经网络, 最近要用到 我感觉入门的例子还不是很懂