特别是对于那些刚刚开始掌握深度学习和神经网络的人,我们准备了一篇非常有用的文章的翻译。在其中,您将学习如何使用 Keras 库用您自己的图像集训练您的第一个神经网络,并且您还将能够创建卷积神经网络 (CNN)。
大多数 Keras 教程都基于标准数据集,例如 MNIST(手写数字识别)或 CIFAR-10(核心对象识别)。他们将帮助您开始使用 Keras,但不会教您如何使用自己的图像数据集 – 您只需调用辅助函数来加载预编译的数据集。
因此,我们不会重新访问预编译的数据集,而是研究如何在原始图像集上训练第一个神经网络和 CNN,就像现实世界问题所需的那样。
介绍
本文假设逐步执行代码片段,为此您将需要 Python 编译器或 Jupyter Notebook 环境。
这里我们不会详细讨论深度学习的理论。有大量文献专门讨论这个主题,例如《使用 Python 进行计算机视觉深度学习》一书。
我们还建议您阅读文章使用 Keras 进行多值分类,从中您将学习如何同时使用多个标签进行预测。
我们的数据集
在本节中,我们将定义数据准备方法并讨论项目结构。
没有 CIFAR10 和 MNIST!
首先,我们要注意 MNIST 和 CIFAR-10 并不是最有趣的例子。您将不会学习如何处理数据,但将使用内置的 Keras 实用程序,神奇地将 MNIST 和 CIFAR-10 数据集转换为 NumPy 数组。连训练和测试样本都已经帮你做好了!
如果您想使用自己的图像,您很可能会问自己以下问题,而不知道从哪里开始:
— 这些辅助函数从哪里加载数据?
– 磁盘上的图像应采用什么格式?
— 如何将我的数据集加载到内存中?
– 需要进行哪些预处理?
不要恐慌。现在我们要把一切弄清楚。
首先,让我们使用一个现成的动物数据集,其中包括狗、猫和熊猫的照片。
目标是将图像正确分类为包含猫、狗或熊猫。
以更个性化和更直接的方式吸引目标 电话号码库 受众。此外,将手机数据与高级分析工具相结合,使组织能够更深入地了解消费者的行为、偏好和人口趋势,从而改进营销方法并提高转化率。然而,手机号码数据业务并非没有挑战。
该集合包含 3000 张图像,将作为初始材料,我们可以使用 CPU 或 GPU 快速训练 DL 模型,同时获得合理的精度。
当您使用此数据集时,您将能够了解如何执行以下操作:
— 在磁盘上组织您的图像集;
— 从磁盘加载图像和类标签;
——将数据分为训练样本和测试样本;
— 训练你的第一个 Keras 神经网络;
— 在测试样本上评估您的模型;
— 将来在全新数据上使用您训练过的模型。
如果您想根据 Internet 上提供的图像创建数据集,可以使用 Bing 图像搜索 以简单的方式完成此操作,也可以使用 Google 搜索以稍微复杂的方式完成此操作。
项目结构
解压本文的 zip 存档后,您将获得以下文件和文件夹结构:
如前所述,我们正在使用动物数据集。请注意它在项目树中的位置。Animals/里面有三个类的目录:cats/、 dogs/、 panda/。每个包含 1000 个属于相应类别的图像。
如果您正在处理自己的图像集,只需以相同的方 美国手机号码列表 式组织它即可。理想情况下,每个类别至少应有 1000 张图像。这并不总是可能的,但至少类别应该是平衡的。如果其中一个类比其他类拥有更多的图像,这可能会使模型产生偏差。
接下来是images/目录。它包含三个模型测试图像,我们将使用它们来演示如何:
从磁盘加载经过训练的模型
对不属于原始数据集的输入图像进行分类。
output/文件夹包含通过训练创建的三种类型的文件:
– .model:序列化的 Keras 模型文件,在训练后创建,可用于进一步的推理脚本。
– .pickle:序列化标签二值化文件。包括一个包含类名并与模型文件关联的对象。
– .png:最好始终将您的学习/测试计划放在此文件夹中,因为它们反映了过程的结果。
pyimagesearch/目录是位于项目文件夹中的模块。它包含的类可以导入到您的脚本中。
在本文中
我们将研究 4 个.py文件。让我们首先使用train_simple_nn.py脚本训练一个简单的模型。接下来,让我们继续使用train_vgg.py脚 不错的合作营销:10 个改变游戏规则的想法 本来训练 SmallVGGNet 。SmallVGGNet.py包含SmallVGGNet(卷积神经网络)类。但是,如果我们不能使用序列化模型,那么它有什么用呢? Predict.py包含用于加载模型和标签文件以进行图像识别的示例代码。仅当我们以足够的精度成功训练模型后才需要该脚本。运行它来在原始数据中未包含的图像上测试模型始终是一个好主意。
1.安装Keras
为了开展该项目,我们需要安装 Keras、TensorFlow 和 OpenCV。
如果您还没有该软件,您可以使用以下简单的安装指南:
— OpenCV 安装指南(适用于 Ubuntu、MacOS 或 Raspberry Pi)。
-使用 TensorFlow 安装 Keras。使用 pip,您可以在不到两分钟的时间内安装 Keras 和 TensorFlow。您的计算机或设备必须足够强大。因此,不建议在 Raspberry Pi 上安装这些包,尽管已经训练好的且不太庞大的模型可以在这样的小型计算机上很好地工作。