|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 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%
源代码及注解如下:
下一期会继续讲解“基于keras搭建的循环神经网络”,敬请期待! |
|