回顾 | Facebook开源产业级深度学习框架 Caffe2

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

本文分享自微信公众号 - IT派(it_pai)

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

原始发表时间:2017-11-18

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【2018将成为AGI元年】13名专家盘点2017最重要AI事件,预测AGI将取代AI

来源:kdnuggets.com 作者:Matthew Mayo 编译:刘小芹 常佩琦 闻菲 【新智元导读】2017年人工智能最重要的发展是什么,2018年...

35450
来自专栏新智元

【2018深度学习10大警示】多数芯片公司将破产;自我对弈可自动创造知识

来源:Medium 编辑:Cecilia 【新智元导读】2018年,对于深度学习来说,将是剧变的一年。多数硬件公司将破产;元学习将成为新随机梯度下降法;直觉机器...

34040
来自专栏新智元

国家“千人”王中风教授:如何满足不同应用场景下深度神经网络模型算力和能效需求

作者:王中风 【新智元导读】 基于神经网络的深度学习算法已经在计算机视觉、自然语言处理等领域大放异彩。但是,诸如 VGG、ResNet 和 Xception 等...

47560
来自专栏数据派THU

独家 | 如何解决深度学习泛化理论

作者:Dmytrii S. 翻译:陈之炎 校对:卢苗苗 本文与大家讨论深度学习泛化理论中的一些经验并试图对它做出解释。 我们可以从最新的关于深度学习“炼金术”的...

414100
来自专栏数据科学与人工智能

【算法】word2vec与doc2vec模型

小编邀请您,先思考: 1 word2vec算法原理是什么? 2 word2vec与doc2vec有什么差异? 3 如何做word2vec和doc2vec? 深度...

83380
来自专栏新智元

薛定谔的佛与深度学习中的因果

作者:王庆法,中国东信CTO 【新智元导读】最近流行佛系XXX,殊不知深度学习里也有佛。本文是继《薛定谔的滚与深度学习中的物理》一文后,笔者又一心力之作。从神秘...

38650
来自专栏新智元

【AI全球大战医生】Hinton:5-10年内深度学习取代放射科医生

编辑:张乾 弗朗西斯 文强 【新智元导读】2017年4月,Hinton在接受《纽约客》采访时说:“5年内深度学习就能超过放射科医生,从现在起就停止培训放射科...

35960
来自专栏新智元

超算Titan仅用一天生成AI神经网络,顶尖人类科学家则需数月

作者:Cecilia 【新智元导读】美国能源部橡树岭国家实验室利用超级计算机Titan,开发出一种人工智能系统,一天之内就能生成神经网络。而最聪明的数据科学家也...

46060
来自专栏新智元

Keras之父:大多数深度学习论文都是垃圾,炒作AI危害很大

编辑: 常佩琦 【新智元导读】 Keras之父、谷歌大脑人工智能和深度学习研究员François Chollet 近日接受采访,对自己的新书《Python深度...

45880
来自专栏新智元

【教程】如何利用深度学习硬件的“闲置时间”来挖矿

来源:Medium 编辑:西西莉亚 【新智元导读】最近比特币价格一路飙升,您可以利用深度学习硬件的“闲散时间”来挖矿从而获取利润。本文作者自己写了一个GPU监...

39350

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励