深度学习第17讲:keras入门和快速上手指南

深度学习到这个进度,笔者觉得有必要开始对一些优秀的深度学习框架进行介绍了。在前面几讲中,我们着重对进行了介绍,并用其实现了一些数据例子。虽然很强大,但语法和使用便利性上对于新手来说并不是那么的友好,所以到这里笔者需要给大家介绍了。

是一款使用纯 python 编写的神经网络 API,使用能够快速实现你的深度学习方案,所以有着为快速试验而生的美称。以、、为后端,意思就是的底层计算都是以以上这些框架为基础的,这使得能够专注于快速搭建起神经网络模型。

keras 搭建神经网络的基本流程

利用搭建神经网络模型非常快速和高效,其模型实现的核心流程可以用四个步骤来概括。具体如下:

第一步就是设计你的网络结构(add):

调用神经网络的各个模块来组件你的模型架构,通过方法来叠加。这一步是最需要仔细考虑的地方,关乎你的神经网络的复杂性和高效与否。简单示例如下:

上面的示例中,我们从的模块中导入了全连接层、激活层,构造了一个包含两个全连接层和一个和激活的网络模型。

第二步是将设计好模型进行编译(compile):

第三步就是对训练数据进行拟合训练(fit):

最后就是对训练好的模型进行评估(evaluate):

这样你就用将你的神经网络模型快速实现了。之后你可以考虑对模型进行调整和优化,但将想法和方案实现落地这个过程是非常快速的。至于的具体细节和其他的一些功能,大家可以参考的官方文档:https://keras.io/

当然也有中文版的:http://keras-cn.readthedocs.io/en/latest/

keras 模拟数据例子

下面我们用生成的随机数的例子来使用去搭建神经网络,我们模拟一个多分类的例子:

模型训练:

模型总结,这也是的一个比较好的功能之一,可以让你对了解模型的基本概要:

由模型总结我们看到神经网络每一层的输入输出大小以及需要训练的参数个数,非常明了。

利用 keras 实现 LeNet-5 模型

在之前的推送中我们使用了和数据例子来实现了 Yann Lecun 大佬的 LeNet-5 模型,本节我们将继续使用来搭建 LeNet-5 模型。依然是按照前面所讲到的搭建神经网络模型四步骤,LeNet-5 模型搭建如下:

在上述代码中,我们利用四步法快速搭建起了 LeNet5 模型,并使用手写数字数据集进行了训练。这里需要说明的一点是,笔者这里的数据是通过下载导入的,其实本身也有的数据导入模块。这么做主要是笔者想要通过对训练集的维度做 padding 时方便,数据集输入大小的为 28x28x1,但在 Lecun 的论文原文中,输入图像是 32x32x1,所以在搭建原始的 LeNet5 结构时需要对输入在一开始就做一个 padding。

模型训练过程如下:

模型概要如下:

最后我们使用 LeNet5 在测试集上取得了 99.01% 的准确率:

参考资料:

https://keras.io/

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180725B1RA3P00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券