概述:包括什么内容呢
用Keras训练第一个简单的神经网络不需要很多代码,但是我们将慢慢开始,逐步进行,确保您理解如何在自己的自定义数据集上训练网络。
我们今天要讨论的步骤包括:
-
在系统上安装Keras和其他依赖项
-
从磁盘加载数据
-
创建训练和测试分支
-
定义您的Keras模型体系结构
-
编译你的Keras模型
-
训练你的训练数据模型
-
在测试数据上评估模型
-
用训练的Keras模型进行预测
我还增加了一个训练你的第一个卷积神经网络的部分。
这看起来像是很多步骤,但我向你保证,一旦我们开始进入示例,您将看到示例是线性的,具有直观的意义,并且将帮助您理解用Keras训练神经网络的基本原理。
我们的示例数据集
图1:在这个Keras教程中,我们不会使用CIFAR-10或MNIST用于我们的数据集。相反,我将向您展示如何组织自己的图像数据集,并使用Keras的深度学习训练神经网络
大多数你遇到的解决图像分类问题的Keras教程都会使用MNIST或CIFAR-10——我不打算这样做。
首先,MNIST和CIFAR-10已经不是什么新鲜的例子了。
这些教程实际上不涉及如何使用自己的自定义图像数据集。相反,他们简单地调用内置的Keras实用程序,奇迹般地返回MNIST和CIFAR-10数据集作为Numpy数组。事实上,你的训练和测试分裂已经为你预分了!
其次,如果你想使用你自己的自定义数据集但又真的不知道该从哪里入手,你或许已经抓狂并有如下疑问:
-
帮助函数从何处加载数据?
-
磁盘上的数据集应该是什么格式?
-
如何将数据集加载到内存中?
-
我需要执行哪些预处理步骤?
老实说,你在学习Keras和深入学习的目标不是与这些预焙的数据集一起工作。
相反,您希望使用自己的自定义数据集。
你所遇到的介绍性教程只会带你走这么远。
这就是为什么在这个Keras教程中,我们将使用一个名为 “Animals Dataset” 的自定义数据集,我为我的书《使用Python进行计算机视觉的深度学习》创建了这个数据集:
图2:在这个Keras教程中,我们将从我的深度学习书中直接使用一个示例动物数据集。数据集由狗、猫和熊猫组成
该数据集的目的是正确地分类图像包含:
-
cats
-
dogs
-
panda
只包含3000个图像,动物数据集意味着是一个介绍性数据集,我们可以快速训练一个深入的学习模型使用我们的CPU或GPU(并仍然获得合理的准确性)。
此外,使用此自定义数据集使您能够理解:
-
如何在磁盘上分配数据集
-
如何从磁盘加载图像和类标签
-
如何将数据划分为训练和测试分支
-
如何在训练数据上训练第一个Keras神经网络
-
如何评价测试数据的模型
-
如何将你的训练模型重用于全新的数据,并在训练和测试之外进行分割
通过遵循此Keras教程中的步骤,您将能够用任何数据集来代替我的动物数据集,前提是您可以使用下面详细描述的项目/目录结构。
需要数据吗?如果你需要从网上苦苦搜寻图像来创建一个数据集,可以看看the easy way with Bing Image Search它,或者slightly more involved way with Google Images.。
项目结构
有许多与此项目关联的文件。从“下载”部分抓取zip,然后使用 tree 命令显示终端中的项目结构(我已经为 tree