Caffe2 简明教程

Caffe2 - Overview

现在,当对深度学习有所了解,我们来了解一下 Caffe 是什么。

Training a CNN

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

  1. Data Preparation - 在此步骤中,我们将图像居中裁剪并调整大小,以便训练和测试的所有图像大小相同。此操作通常是通过在图像数据上运行一个小小的 Python 脚本进行的。

  2. Model Definition - 在此步骤中,我们定义了 CNN 架构。配置存储在 .pb (protobuf) 文件中。下图显示了典型的 CNN 架构。

  3. Solver Definition - 我们定义求解器配置文件。求解器进行模型优化。

  4. Model Training - 我们使用内置的 Caffe 实用工具来训练模型。训练可能需要大量时间和 CPU 使用率。训练完成后,Caffe 将模型存储在一个文件中,以后可以在测试数据和最终部署中使用它来进行预测。

training cnn

What’s New in Caffe2

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

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

  1. Mobile deployment

  2. New hardware support

  3. 支持大规模分布式训练

  4. Quantized computation

  5. Stress tested on Facebook

Pretrained Model Demo

Berkeley Vision and Learning Center(BVLC)网站提供了预训练网络的演示。可以通过此链接在图片分类中找到一个这样的网络 https://caffe2.ai/docs/learn-more#null_caffe-neural-network-for-image-classification ,并且如下图所示。

pretrained model

在截图中,一张狗的图像被分类并标上了其预测准确度。它还表示对图像分类仅用时 0.068 seconds 。你可以通过指定图像 URL 或在屏幕底部的选项中上传图像本身来尝试一张你自己的选择图像。