【重磅】Facebook 开源产业级深度学习框架 Caffe2,带来跨平台机器学习工具

【新智元导读】Facebook 开发者大会今天召开。同时,Facebook 宣布开源 production-ready 的深度学习框架 Caffe2,轻量级、模块化,在移动端和云上都做了优化。同时提供的还有 C++ 和 Python API,以及模型库 Caffe2 Model Zoo,里面有视觉、语音、翻译等预训练模型,方便开发人员和研究者直接使用。

AI 模型的训练和部署通常与大量数据中心或超级计算机相关联,原因很简单。从大规模的图像、视频、文本和语音等各种信息中持续处理、创建和改进模型的能力不是小型计算擅长的。在移动设备上部署这些模型,使其快速轻量级运转,同样是令人生畏的任务。克服这些挑战需要一个强大、灵活、便携式(portable)深度学习框架。

Facebook一直在与开源社区一起建立这样一个框架。今天,我们将第一个生产就绪(production-ready)的 Caffe2 开源,这是一个轻量级和模块化的深度学习框架,强调便携性,同时保持了可扩展性和性能。

我们致力于为社区提供高性能的机器学习工具,以便每个人都能创造智能应用和服务。Caffe2 提供了教学和示例,演示了用一台机器上的多颗 GPU 或多台机器的一颗或多颗 GPU 进行大规模学习。学习训练和部署 iOS,Android 和 Raspberry Pi 模型。在模型库 Caffe2 Model Zoo 里面的预训练模型,只需几行代码就能运行。

Facebook 部署 Caffe2 旨在帮助开发人员和研究人员 训练大规模机器学习模型,并在移动应用中提供 AI 驱动的用户体验。现在,开发人员可以获取许多相同的工具,能够在大规模分布式场景训练模型,并为移动设备创建机器学习应用。

我们与英伟达,高通,英特尔,亚马逊和微软密切合作,在云端和移动环境两个方面都对 Caffe2 做了优化。这些合作将使机器学习从业者能够使用更复杂的模型快速地进行实验,并部署下一代 AI 增强型的应用和服务。

Caffe2 会持续更新,欢迎提供意见和建议。

更新信息可以查看 Caffe2 文档和教程请访问 caffe2.ai,并查看 GitHub 源代码。(下文有介绍。)

Caffe2 原理(Philosophy)

Caffe2 的原理与 Caffe 相同,开发原则可以概括为以下5点:

  • 表达(Expression):模型和优化被定义为纯文本模式(plaintext schema)而不是代码。
  • 速度:对学界和产业界都一样,速度对于最先进的模型和大数据至关重要。
  • 模块化:新任务和设置需要灵活性和扩展性。
  • 开放性:科学和应用进步需要通用代码(common code),参考模型和重现性(reproducibility)。
  • 社区:学术研究、startup prototypes 和工业应用通过在 BSD-2 项目中联合讨论和开发,共享实力。

Caffe2:Caffe 的实验性再造,用更灵活的方式组织计算

根据 Github 页面介绍,Caffe2 这个深度学习框架,在制作时就考虑到了表达(expression)、速度和模块化这些特性。

Caffe2 是 Caffe 实验性的再造,可以提供更灵活的方法组织计算。

Caffe2 是根据 BSD 2-Clause 许可证条款发布的。

目前确定可以运行的 Build Status 如下:

Ubuntu 14.04 (GCC)

Default CPU build

Default GPU build

OS X (Clang)

Default CPU build

Default GPU build

Options (both Clang and GCC)

Nervana GPU

× ZMQ

RocksDB

MPI

OpenMP

No LMDB

No LevelDB

No OpenCV

BLAS

OpenBLAS

ATLAS

× MKL

其他

CMake 2.8 support

List of dependencies for Ubuntu 14.04

List of dependencies for Ubuntu 16.04

List of dependencies for OS X

Caffe2 模型库:图像分类、图像分割、对象和场景标记等

Caffe2 的宣传口号 “一次编码,随时随地运行”,可见 Caffe2 想要凸显其灵活、便携性,当然,还有预训练模型。

据介绍,Caffe 开发社区十分活跃,开发人员和研究人员会分享他们的 Caffe 模型,当然,现在也会分享 Caffe2 模型。

Caffe2 模型库的页面开始说,你可以用这些模型快速构建 demo 并探索深度学习功能,而不需要耗费时间和计算资源从头开始训练模型,你可以重新创建和评估其他项目的结果,或者改进以前发布的模型,欢迎分享和讨论。

下面列出了 Caffe 模型,还提供了一组可用于 Caffe2 的模型。由于刚刚起步,Caffe2 模型现在还比较少。

目前,只有图像分类的 Squeezenet、BVLC AlexNet、BVLC CaffeNet 模型、BVLC GoogleNet 模型和 ImageNet ILSVRC13 RCNN 有 Caffe2 预训练模型,相信很快就会有更多丰富。

Caffe2 中基本计算单元之一是 Operators。每个 Operator 包含给定适当数量和类型的输入和参数来计算输出所需的逻辑。Caffe 和 Caffe2 功能的总体差异如下图所示:

(关于如何将 Caffe 模型转换为 Caffe2 模型主页上有非常详细而且友好的教程。)

  • 图像分类
  • 图像分割
  • 对象和场景标记
  • 风格
  • 人脸
  • 视频处理

Caffe2 深度学习应用

据介绍,Caffe2 的深度学习应用主要是计算机视觉(CV)、聊天机器人(Chat Bots)、物联网(IoT)、语音识别、翻译以及医疗。

此外,没有在上图中列出的,还有广告和其他一些应用,包括面向学术界研究人员的,可以改进现有模型、创新新的模型、开发算法和更智能的神经网络。

还有工程师和开发人员,介绍中说,最终许多行业都会用到深度学习,即使你没有直接从事深度学习相关工作,你的公司也会将深度学习并入平台。

Caffe2强调易用性, 旨在为开发人员提供一种简单直观的方式,亲身体验深度学习。

在某些情况下,你可能希望使用现有的模型,跳过整个“学习”的步骤,在尝试训练你自己的模型之前,就熟悉深度学习是如何的实用和有效。

Caffe2 API:C++ & Python

Caffe2 给出了 C++ 和 Python 的 API。

  • C++:http://caffe2.ai/doxygen-c/html/classes.html
  • Python:http://caffe2.ai/doxygen-python/html/annotated.html

Caffe2 的网站非常友好,除了 API,不仅包括了教程(Tutorial)、参考(Reference),在最开始还有介绍深度学习的部分——Learn。

Learn 这部分从深度学习知识和应用讲起,介绍了如何将 Caffe2 整合入 iOS 和 Android。不仅如此,还有分布式训练和数据库的介绍。

在教程在方面,有模型和数据库介绍,从 Caffe2 的基本讲起,包括 Workspaces、Operators & Nets,还有 Toy Regression、图像预处理、加载预训练模型、MNIST(从头开始创建一个 CNN)的讲解,教你自己创建数据库,以及 AI 摄像机 Demo 和教程,RNN 和 LSTM 网络的介绍。

Facebook 产业级跨平台机器学习工具

在 2016 年 11 月发布 Caffe2go 时,Caffe 作者贾扬清介绍说,Caffe2 是 Facebook 第一个具有产业实力的深度学习平台,可以跨平台用同样的代码集全速运行。由于模块化设计,框架可以使用相同的语言,但要分别在各个平台上优化。例如,框架可以在手机(iOS 和 Android)的 NNPack 和服务器 GPU 的 CUDNN 之间选择。因此,开发者可以专业于算法的工作,而不用研究怎样运行卷积。

人工智能已经产生了深远的影响,但大部分 AI 还是局限于大型数据中心,远离实际使用 AI 应用和服务的人。我们不可能让人随身携带超级计算机,那么,让 AI 在当前最为普及便携的设备——智能手机工作上工作就成为关键一环。

以下是开源地址和体验链接:

  • 主页:http://caffe2.ai
  • Github: https://github.com/caffe2/caffe2
  • 参与调查,改善 Caffe2:https://www.surveymonkey.com/r/caffe2

本文分享自微信公众号 - 新智元(AI_era)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI派

机器学习法则:ML工程的最佳实践

Martin Zinkevich 在2016年将 google 内容多年关于机器学习相关的经验分享了出来,这篇文章是对该分享的一些翻译+解读,如果想查看原文请参...

18930
来自专栏用户画像

浅析UGC视频去重算法

在以UGC(User Generated Content 用户原创内容)业务为主的视频网站中,每天都有大量的视频被上传。用户上传的视频有数量大、重复视频多的特点...

40040
来自专栏DT数据侠

看可口可乐如何玩转TensorFlow

随着人工智能的高速发展,开发者们对于能够应对产品多样化挑战的学习框架TensorFlow,也有着很高的热情。除了各类科技产品,零售行业也同样将TensorFlo...

8200
来自专栏量子位

一文看懂深度学习新王者「AutoML」:是什么、怎么用、未来如何发展?

技术博客TowardDataScience有一篇文章,就全面介绍了关于AutoML和NAS你需要了解的一切。

33120
来自专栏技术翻译

8个深度学习框架

随着越来越多的企业希望扩大其运营规模,它们已成为接受机器学习和预测分析的必要条件。人工智能与正确的深度学习框架相结合,真正放大了企业在其领域内可以实现和获得的整...

33230
来自专栏新智元

【重磅】Google 分布式 TensorFlow,像 Android 一样带来 AI 复兴?

今天,Google 发布了分布式 TensorFlow。Google 的博文介绍了 TensorFlow 在图像分类的任务中,100 个 GPUs 和不到 65...

42240
来自专栏ATYUN订阅号

谷歌为离线设备开发AI系统SGNN,短文本分类准确率达到86.7%

深度神经网络是最先进的机器翻译和目标识别系统的核心。它们有助于将一种语言翻译成另一种语言并从名片中提取地址。问题是,它们经常受到智能手机,可穿戴设备和其他移动设...

13320
来自专栏CreateAMind

谷歌机器学习白皮书全解析 43条黄金法则

from http://3g.163.com/touch/article.html?docid=CBMPFGTL00098GJ5&qd=pc_adaptatio...

12630
来自专栏视频咖

花屏=花瓶?这是不存在的

本是一名佛性型吃鸡选手,自从被三个妹子带着躺尸吃鸡之后,便立志要成为一名吃鸡高手,一大早便沉迷于各大网站的吃鸡直播中,正看到决赛圈激动人心的时刻,直播花屏了?然...

36120
来自专栏CDA数据分析师

带你十分钟看懂机器学习与 TensorFlow(GDD 2017)(附视频中字)

TensorFlow是世界上最流行的开源机器学习框架。在2017年谷歌开发者大会欧洲站中,Andrew Gasparovic介绍了TensorFlow以及发展的...

51280

扫码关注云+社区

领取腾讯云代金券