新智元原创
来源:Medium
编辑:元子
TensorFlow是毫无争议的深度学习框架重量级冠军,而PyTorch是年轻的后起之秀,赢的了不少人的青睐。
最近TensorFlow在3月4日发布了2.0公测版,增加了新功能。改善了用户体验,更加紧密地集成了Keras作为其高级API。这一版本和1.x相比,改动相当大,以至于你需要迁移代码库。Google自己也一样需要做同样的事情,所以他们特意出了一套官方的迁移指南,甚至还开发了工具来帮助简化迁移代码的工作量。听起来真是让人头秃。
PyTorch v1.0和fastai v1.0都是在2018年10月发布的,这两个版本标志着框架成熟的重要里程碑。Facebook也刚刚开源了大规模图嵌入系统PyTorch-BigGraph,而且因为TensorFlow有些激进的升级,导致给PyTorch送了一波新粉丝。
所以2019年,到底TensorFlow能够继续稳坐冠军宝座,或是被PyTorch超越?为了找出这个问题的答案,数据科学家、Rebel Desk的COO、Medium优秀作者Jeff Hale查看了Indeed Monster、LinkedIn和SimplyHired上的职位列表数量、评估了Google搜索量、GitHub活跃度,Medium文章、ArXiv论文和Quora主题关注者的变化,从多个维度对二者进行了对比,可以说是非常具有说服力了。
岗位需求最直接的表现了市场对某种框架的需求程度。为了确定在当今的就业市场中需要哪些深度学习库,Jeff在Indeed,LinkedIn,Monster和SimplyHired上搜索了工作列表。
搜索的方式是在库名前面加前缀“机器学习”,例如TensorFlow就是“机器学习TensorFlow”,此方法仅用于历史比较,不加机器学习前缀的搜索没有产生明显不同的结果。搜索区域是美国。
从2019年3月的岗位数量中减去了六个月前的岗位数量结果发现:
TensorFlow的列表增幅略大于PyTorch,Keras的增量大约是TensorFlow的一半,而fastai则是完全没有市场,略有些尴尬。
值得注意的是,除了LinkedIn,其他网站上PyTorch的增量要比TensorFlow大;而TensorFlow的工作需求量,几乎是PyTorch或Keras的三倍。
Google的搜索结果也是衡量人气的重要指标。从过去一年Google趋势来看,去年下半年TensorFlow的相对搜索量有所下降,而PyTorch的相对搜索量却在增长。
TensorFlow为蓝色; Keras以黄色,PyTorch以红色,fastai以绿色
Medium绝对是数据科学文章和教程的聚集地,Medium上面关于TensorFlow和PyTorch文章的数量也能够体现学者和开发者以及科技媒体对二者的关注度。
在过去的六个月里,Medium上TensorFlow和Keras有关的文章数量相当,而PyTorch相对较少。
作为高级API,Keras和fastai受到新的深度学习从业者的欢迎。 新增了很多相关的教程。
arXiv是大多数学术深度学习文章的在线存储库,代表了学术风向标。在arXiv中,过去六个月TensorFlow的新文章出现率最高,
如果说arXiv代表了学术风向标,那么Github无疑就是代表了开发者的风向标。最近关于GitHub的活动是框架流行度的另一个指标。
从上图可以看出,TensorFlow在star、fork、watch和贡献者4个方面活跃度均是最高,然而PyTorch在watch数和贡献者的增长方面非常接近。相对于star来说,watch更能体现开发者对一个项目的关注度。Watch相当于follow或者订阅,意味着这个项目对开发者来说具有比较重大的意义。而star类似点赞,仅仅表达了用户对该项目的好感。
值得注意的是,Fastai最近的贡献者数量在增加。
作为目前最大最活跃的线上问答社区,Quora上的关注度也能在一定程度上体现大众对一个产品的关注度。
显然在Quora上,TF最受大家关注,大家对TF的也问题最多。PyTorch和Keras也有比较多的新增关注,FastAI就有些尴尬了。
Jeff创建了一个计算增长分数的方法:
衡量0到1之间的所有功能
聚合在线职位列表和GitHub活跃度
类别的权重根据以下百分比
为了更好的理解,权重分数都乘以100
将每个框架的类别分汇总为单个增长分
工作列表占总分的三分之一多一点,毕竟俗话说得好:金钱万能,有钱能使鬼推磨。
以下是表格形式的变化:
以下类别和最终得分:
以下是最终的增长分:
TensorFlow需求最旺盛,增长也最快。但是PyTorch也在迅速发展,和TensorFlow的差距并没有特别大。它在工作岗位需求中的大量增加证明了其使用和需求的增加。
在过去的六个月里,Keras也有了很大的发展。最后,虽然fastai分数最低,但也最年轻,未来还不好说。
所谓萝卜青菜各有所爱。PyTorch更有Python味儿,API也更一致。它还具有原生的ONNX模型导出,可用于加速推理。此外,PyTorch与numpy共享许多命令,从而降低了学习门槛。
TensorFlow 2.0则完全是为了改进用户体验。正如谷歌首席决策情报工程师Cassie Kozyrkov之前解释的那样,TensorFlow现在拥有更直接的API,更简化的Keras集成,更偏实用层面,应该有助于该框架在未来几年保持流行。
TensorFlow最近宣布了另一个激动人心的计划:Swift for TensorFlow。Swift最初由Apple构建的编程语言,在执行和开发速度方面,Swift比Python有许多优势。
Fast.ai将在部分高级MOOC中使用Swift for TensorFlow,这门语言可能不会在一两年内有突破性的发展,但它可能是对当前深度学习框架的改进。
未来量子计算的发展可能会影响到深度学习框架,需要适配这项新技术。
所以,亲爱的读者,你会如何选择呢?
参考链接:
https://towardsdatascience.com/which-deep-learning-framework-is-growing-fastest-3f77f14aa318
【2019新智元 AI 技术峰会精彩回顾】
2019年3月27日,新智元再汇AI之力,在北京泰富酒店举办AI开年盛典——2019新智元AI技术峰会。峰会以“智能云•芯世界“为主题,聚焦智能云和AI芯片的发展,重塑未来AI世界格局。
同时,新智元在峰会现场权威发布若干AI白皮书,聚焦产业链的创新活跃,评述AI独角兽影响力,助力中国在世界级的AI竞争中实现超越。
嘉宾精彩演讲: