Caffe2 - 概述

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

训练 CNN

让我们学习训练 CNN 对图像进行分类的过程。该过程包括以下步骤 −

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

  • 模型定义 − 在此步骤中,我们定义一个 CNN 架构。配置存储在 .pb (protobuf) 文件中。下图显示了典型的 CNN 架构。

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

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

Training CNN

Caffe2 中的新功能

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

Caffe2 相对于 Caffe 的改进可以总结如下 −

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

预训练模型演示

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

Pretrained Model

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