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/35627245

原文发布于微信公众号 - 专知(Quan_Zhuanzhi)

原文发表时间:2018-04-02

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ionic3+

【Appetite】ionic3实录(一)前言,刚好遇见你

要想掌握一门技术,最好亲自动手做点东西,只有在解决问题的过程中,才能思考问题,进而加深技术的掌握,所以在写ionic3相关内容时,我就一早留了个【示例篇】,只是...

1065
来自专栏云计算D1net

有助于机器学习的7个云计算服务

用于机器学习、人工智能、数据分析的基于云计算的工具日前增多。其中的一些应用是在基于云计算的文档编辑和电子邮件,技术人员可以通过各种设备登录中央存储库,并在远程位...

1985
来自专栏ATYUN订阅号

重磅!微软将在Windows 10系统中添加人工智能功能

AiTechYun 编辑:Yining 微软正在对人工智能和机器学习进行大笔投资。微软计划在Windows 10中加入更多人工智能功能。这个软件巨头在今天为开发...

3585
来自专栏司想君

人工智能时代,前端工程师能做什么?

前端工程师在人工智能的团队到底能做什么,能体现怎么的价值?对此,可以先下图的一个总结,然后再会逐条结合实际以及业界的发展情况做一些分析

1644
来自专栏web前端教室

没有哪个教程,是一点难度不带的,要以递归的方式来学习教程。

今天文章的标题的是在和一个新同学聊天沟通的时候,偶然提到的, ? 我觉得ta的心态特别好,对于学习的心态也特别的端正。很清楚的明白,目前还有许多不懂的地方,而这...

2097
来自专栏大数据挖掘DT机器学习

【推荐】网站转化率与漏斗模型

前段时间刚完成了一个分析网站流程的每个步骤的流失率,并用漏斗模型进行展示的需求,这里跟大家来分享一下。分析过程可以从以下三步展开:确定需要分析的访问路径...

3806
来自专栏云计算D1net

五步法降低基于PaaS的SaaS应用开发风险

对于希望按需快速部署、监控和扩展网络应用的云计算架构师和开发人员来说,AWS的Elastic Beanstalk (测试版)是一个非常有用的工具。他们所要做的就...

3789
来自专栏AI研习社

PyTorch 重大更新,0.4.0 版本支持 Windows 系统

AI 研习社最新消息,PyTorch 官方发布 0.4.0 版本,该版本的 PyTorch 有多项重大更新,其中最重要的改进是支持 Window 系统。

1594
来自专栏软件测试经验与教训

如何评审测试用例

2. 用例评审时按着用例一条条讲,讲到最后自己都不知道该说什么了,好像大家都挺懵逼的?

1291
来自专栏Python小屋

让你的Python程序在用户面前以小概率崩溃

有些软件在大部分情况下都能正常工作,而有时候则会莫名其妙的崩溃。当然这有可能是因为代码没有写好或没有考虑一些特殊情况,也有可能是系统本身就是这么设计的,目的是要...

2986

扫码关注云+社区

领取腾讯云代金券