Caffe2 - 概述
现在,您已经对深度学习有了一些了解,让我们概述一下什么是 Caffe。
训练 CNN
让我们了解训练 CNN 进行图像分类的过程。该过程包括以下步骤 -
数据准备- 在此步骤中,我们对图像进行中心裁剪并调整其大小,以便用于训练和测试的所有图像具有相同的大小。这通常是通过在图像数据上运行一个小的 Python 脚本来完成的。
模型定义- 在这一步中,我们定义 CNN 架构。配置存储在.pb (protobuf)文件中。典型的CNN架构如下图所示。
求解器定义- 我们定义求解器配置文件。求解器进行模型优化。
模型训练- 我们使用内置的 Caffe 实用程序来训练模型。训练可能会花费大量时间和 CPU 使用率。训练完成后,Caffe 将模型存储在文件中,稍后可将其用于测试数据和最终部署以进行预测。
Caffe2 的新增功能
在 Caffe2 中,您会发现许多现成的预训练模型,并且还经常利用新模型和算法的社区贡献。您创建的模型可以使用云中的 GPU 功能轻松扩展,也可以通过其跨平台库在移动设备上大规模使用。
Caffe2 相对于 Caffe 所做的改进可总结如下:
- 移动部署
- 新硬件支持
- 支持大规模分布式训练
- 量化计算
- Facebook 压力测试
预训练模型演示
伯克利视觉和学习中心 (BVLC) 网站提供了其预训练网络的演示。此处所述的链接上提供了一种用于图像分类的网络:https://caffe2.ai/docs/learn-more#null__caffe-neural-network-for-image-classification,并如下面的屏幕截图所示。
在屏幕截图中,狗的图像被分类并标记了其预测准确性。它还表示,对图像进行分类只花了0.068 秒。您可以通过指定图像 URL 或在屏幕底部给出的选项中上传图像本身来尝试自己选择的图像。