前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Caffe2正式发布!新框架有何不同?贾扬清亲自解答

Caffe2正式发布!新框架有何不同?贾扬清亲自解答

作者头像
量子位
发布2018-03-30 16:06:01
1.3K0
发布2018-03-30 16:06:01
举报
文章被收录于专栏:量子位量子位
王新民 若朴 发自 凹非寺 量子位 报道 | 公众号 QbitAI
图左为Caffe2作者贾扬清

今天凌晨召开的F8大会上,Facebook正式发布Caffe2~

随着人工智能的发展,在训练深度神经网络和大规模人工智能模型以及部署各机器的计算量时,通常要在大量数据中心或超级计算机的支持下完成。

能够从不同信息中,如图像、视频、文本和语音等,不断处理、创建和改进网络模型,部署在大规模计算平台上高速运行,这是个不小的难题。

同时,在移动设备上部署这些模型,使其快速有效地运行,也是一项艰巨的任务。

克服这些挑战需要一个强大、灵活和轻便的深度学习框架。Facebook一直试图建立一个这样的框架。

今天,这家美国社交巨头,开放了Caffe2的第一个正式版本,官方介绍说:这是一个轻量化和模块化的深度学习框架,在强调轻便性的同时,也保持了可扩展性和计算性能。

Caffe2的特性:

- Caffe2框架可以通过一台机器上的多个GPU或具有一个及多个GPU的多台机器来进行分布式训练。

- 也可以在iOS系统、Android系统和树莓派(Raspberry Pi)上训练和部署模型。

- 只需要运行几行代码即可调用Caffe2中预先训练好的Model Zoo模型。

- Caffe2框架已经应用在Facebook平台上。

- NVIDIA(英伟达),Qualcomm(高通),Intel(英特尔),Amazon(亚马逊)和Microsoft(微软)等公司的云平台都已支持Caffe2。

- GitHub上有Caffe2的源代码。

Caffe2和Caffe有何不同?

Caffe2发布后,外界最多的讨论之一,就是发出上述疑问。去年12月,贾扬清曾经解释过一次:“目前Caffe2还不能完全替代Caffe,还缺不少东西,例如CuDNN。与Caffe2相比,Caffe仍然是主要的稳定版本,在生产环境中使用仍然推荐Caffe”。

现在Caffe2正式发布,这个推荐肯定要改成新版本了。

Caffe2的基本计算单位是Operator。对于适当数量和类型的输入参数,每个Operator都包括所需的计算逻辑。Caffe和Caffe2的总体差异如下图所示:

官方提供了从Caffe迁移到Caffe2的教程,据说这个迁移非常简单。

Caffe2和PyTorch有何不同?

这是另外一个疑问。

Caffe2长于移动和大规模部署。虽然Caffe2新增了支持多GPU的功能,这让新框架与Torch具有了相同的GPU支持能力,但是如前所述,Caffe2支持一台机器上的多个GPU或具有一个及多个GPU的多台机器来进行分布式训练。

PyTorch适合进行研究、实验和尝试不同的神经网络;而Caffe2更偏向于工业应用,而且重点关注在移动端上的表现。

贾扬清现身说法

Caffe2发布后,作者贾扬清在reddit上连发四记解答。“Yangqing here”,贾扬清一上来就表明了身份。

有人问搞出Caffe2意义何在?现在已经有PyTorch、TensorFlow、MXNet等诸多框架。

贾扬清说Caffe2和PyTorch团队紧密合作。他们把Caffe2视作一种生产力的选择,而把Torch视作研究型的选择。而在构建AI模块时,他们也持有一种“非框架”的理念,例如Gloo、NNPACK和FAISS等可以被用于任何深度学习框架。

有人问Caffe2接受外部贡献么?

贾扬清说大爱外部贡献,也会在开源方面继续努力。

有人问Caffe2是否用了Torch的代码库,以及CUDA等相关支持的问题。

贾扬清说他们正在计划让Caffe2和Torch和PyTorch共享后端,这几个框架已经共享Gloo用于分布式训练,THCTensor、THNN和其他C/C++库也将会共享。

在GPU层面,Caffe2使用了CUDA和CUDNN。贾扬清和团队也试验了OpenCL,但是感觉用NVIDIA的GPU CUDA效果更好。

另外在其他平台(例如iOS上),Caffe2使用了特定的工具,例如Metal。一两天内,官方会发布Metal的实施。

有人问Caffe2支持动态图么?

贾扬清给出否定的回答,他表示这是Caffe2和PyTorch团队有意做出的选择。Caffe2的任务就是提供最佳的性能,而如果想要极端灵活的计算,请选择PyTorch。贾扬清认为这是一个更好的方式,因为“一个框架通吃”可能会影响性能。

所以,目前Caffe2只支持非常有限的动态控制,例如动态RNN。

最后,量子位放出传送门:

Caffe2的首页:http://caffe2.ai/

GitGub地址:https://github.com/caffe2/caffe2

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Caffe2和Caffe有何不同?
  • Caffe2和PyTorch有何不同?
  • 贾扬清现身说法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档