深度学习教程 Part 1

如果你想利用深度学习方法来识别图像,但却不知道如何上手的话,那么我想这篇文章可以帮助到你。

如果你不知道机器学习和卷积神经网络的话,那么我强烈建议你先看下 Adam Geitgey 的文章

本文将构建一个卷积神经网络模型来读取并识别图像,对每个图像打上相应的标签。

环境配置

首先,我们需要配置下环境,你可以从 官网 下载 Anaconda,并选择 Python 2.7版本。

安装完成后,你需要确认 NumPy, SciPy, Sphinx, pyyaml 等包是否已经成功安装,你可以利用搜索栏来搜寻这些软件包。

此外,我们还需要安装 Theano ,我们将采用最简单的方法来安装该软件库。如下所示:

在 Anaconda 界面中,打开终端界面

深度学习教程 Part 1
深度学习教程 Part 1

此外你也可以利用 git 来安装最新版本程序:

深度学习教程 Part 1

使用 Jupyter Notebook

从 Anaconda 登陆界面中打开 Jupyter notebook 并新建一个文件:

深度学习教程 Part 1

编程阶段

首先,我们需要载入相应的软件库

深度学习教程 Part 1

我们将以 MNIST 数据集为例,并利用 Keras 来载入数据集。该数据集中包含了 60,000 张大小为 28*28 的图片测试集中包含 10,000 张图片。

深度学习教程 Part 1

深度学习架构

我们将使用基于 Lenet-5 结构的神经网络[1],具体如下所示:

深度学习教程 Part 1
深度学习教程 Part 1

如果你对上述层级结构感到困惑的话,你可以参阅这个 教程 。

训练并测试模型

利用 CPU 来训练模型的话需要几分钟的计算时间,但是如果使用 GPU 的话仅需要几秒钟。

深度学习教程 Part 1

评估模型的效果:

深度学习教程 Part 1

其中测试集的得分是损失函数值,如 MSE,而测试精度则是预测结果的准确率。测试得分越小,测试精度越高,模型的拟合效果越好。结果显示,上述模型的测试得分为 3%,测试精度为 99%。

分类结果

别忘了我们的测试集中有 10,000 张图片,在这里我们只展示前 25 张图片的预测结果:

深度学习教程 Part 1
深度学习教程 Part 1

接下来我们还能做啥呢?我们还可以调整神经网络的结构,改变隐藏层的类型,改变迭代次数并观察模型的拟合效果是否变得更好。或者我们可以将训练好的模型保存下来以便于处理图像分类预测问题。当然我们也可以将预测错误的图片打印出来:

深度学习教程 Part 1

参考文献

[1] Y. Lecun, L. Bottou, Y. Bengio and P. Haffner, “Gradient-based learning applied to document recognition,” in Proceedings of the IEEE, vol. 86, no. 11, pp. 2278–2324, Nov 1998.

原文链接: https://medium.com/@databolism/getting-start-with-deep-learning-a-hands-on-guide-for-complete-beginners-part-1-setting-up-c2737a2fc0d#.4y6kbdrvv

原文作者:Akina M.

译者:Fibears

原文 

http://datartisan.com/article/detail/191.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 深度学习教程 Part 1

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址