Facebook深度学习框架Caffe2代码正式并入PyTorch

Facebook同时支持两个深度学习工具 Caffe2和 PyTorch, 显然不重复造轮子, 而是让能复用的组件和库(比如操作库)在这两个项目之间共享是没有争议的.

Caffe2是:

  • 一个轻量化的深度学习算法框架

  • caffe2 主要为产品级别的深度学习算法设计

  • 为移动端实时计算做了很多优化

  • 同时支持大规模的分布式计算

  • Caffe2是一个跨平台的框架

  • 支持移动端iOS, Android, 服务器端Linux, Mac, Windows, 甚至一些物联网设备如RaspberryPi, NVIDIA Jetson TX2等平台部署


PyTorch是:


  • 一个Python 深度学习计算框架

    • 灵活

    • 符合直觉

    • 容易debug

  • GPU 加速的张量计算(Tensor Computation)

  • 构建在反向自动求导系统上

  • 动态构建计算图

Caffe2和PyTorch本质上在解决同样的问题, 随着它们共享的组件越来越多, 问题来了: (1) 你需要再两个github项目之间同步代码(submodules 或者subtrees 搞不定这个事). (2) 自动持续集成(CI)会变得非常混乱

持续集成: Continuous Integration(CI)

在一个项目中,任何人对代码库的任何改动,都会触发CI服务器自动对项目进行构建,自动运行测试,甚至自动部署到测试环境。这样做的好处就是,随时发现问题,随时修复。因为修复问题的成本随着时间的推移而增长,越早发现,修复成本越低。

如果您密切关注PyTorch开发,您可能在过去几个月中已经注意到一些事情:

  • PyTorch和Caffe2共享一个CI, 你可以去 https://ci.pytorch.org/ 上看看。

  • PyTorch和PyTorch-ONNX有一个 非常复杂的CI, onnxbot触发器建立在每个PyTorch PR上并以环形方式更新

  • 后台的一些工作最近处于“挂起”状态,例如集成最新和最大的库(MKLDNN,cuFFT,NNPACK等等)


显然, 合并是最好的结局。目前, 我们看到Caffe2 的repo 正在合并到PyTorch上, 而且合并方式非常简单粗暴直接把两个项目的根目录合并了


扩大社区资源和参与度

  • For PyTorch用户

    完全没有影响, PyTorch的安装, 调用一切照旧

  • For PyTorch 代码

    完全没有影响, 这是PyTorch开发者在做的后台工作, 并不影响前台。

  • For protobuf

    完全没有影响

  • For Caffe2 用户

    • 恐怕, 以后build caffe2, 你需要从clone 的是https://github.com/pytorch/pytorch.git了,https://github.com/caffe2/caffe2.git 将不再维护。

    • 没有别的影响了, 本机的构建, 仍然是CMake, 那些工具和二进制文件的目录没变化

    • PyCaffe 还在么 ? emmmm, 现在还在, 未来可能不在了, 直接PyTorch调Caffe2了

    • 那些依赖库呢, 比如 glog, gflags and protobuf? 没有影响

贾扬清本人也对此进行回答:

因为PyTorch有优秀的前端,Caffe2有优秀的后端,整合起来以后可以进一步最大化开发者的效率。目前FAIR大概有超过一半的项目在使用PyTorch,而产品线全线在使用Caffe2,所以两边都有很强的动力来整合优势。开发效率是我在Facebook非常重视的一个方向:去年年中的时候启动了ONNX项目(初版的代码是我亲自上手写的),然后帮助搭建了ONNX team,来增强不同框架甚至不同公司之间的协作;Caffe2和PyTorch在代码层的合并也是从那个时候开始逐渐推动的一项内容。至于进一步的计划,目前我还不方便透露。

参考链接:

https://github.com/pytorch/pytorch/issues/6032

https://github.com/caffe2/caffe2/issues/2439

https://www.zhihu.com/question/270578639/answer/356272458

-END-

专 · 知

人工智能领域主题知识资料查看获取【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!

请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~


点击“阅读原文”,使用专知

展开全文
Top
微信扫码咨询专知VIP会员