Caffe2 - 概述


现在,您已经对深度学习有了一些了解,让我们概述一下什么是 Caffe。

训练 CNN

让我们了解训练 CNN 进行图像分类的过程。该过程包括以下步骤 -

  • 数据准备- 在此步骤中,我们对图像进行中心裁剪并调整其大小,以便用于训练和测试的所有图像具有相同的大小。这通常是通过在图像数据上运行一个小的 Python 脚本来完成的。

  • 模型定义- 在这一步中,我们定义 CNN 架构。配置存储在.pb (protobuf)文件中。典型的CNN架构如下图所示。

  • 求解器定义- 我们定义求解器配置文件。求解器进行模型优化。

  • 模型训练- 我们使用内置的 Caffe 实用程序来训练模型。训练可能会花费大量时间和 CPU 使用率。训练完成后,Caffe 将模型存储在文件中,稍后可将其用于测试数据和最终部署以进行预测。

训练CNN

Caffe2 的新增功能

在 Caffe2 中,您会发现许多现成的预训练模型,并且还经常利用新模型和算法的社区贡献。您创建的模型可以使用云中的 GPU 功能轻松扩展,也可以通过其跨平台库在移动设备上大规模使用。

Caffe2 相对于 Caffe 所做的改进可总结如下:

  • 移动部署
  • 新硬件支持
  • 支持大规模分布式训练
  • 量化计算
  • Facebook 压力测试

预训练模型演示

伯克利视觉和学习中心 (BVLC) 网站提供了其预训练网络的演示。此处所述的链接上提供了一种用于图像分类的网络:https://caffe2.ai/docs/learn-more#null__caffe-neural-network-for-image-classification,并如下面的屏幕截图所示。

预训练模型

在屏幕截图中,狗的图像被分类并标记了其预测准确性。它还表示,对图像进行分类只花了0.068 秒。您可以通过指定图像 URL 或在屏幕底部给出的选项中上传图像本身来尝试自己选择的图像。