译者 | VK
来源 | Towards Data Science
【磐创AI 导读】:本篇文章介绍了一些深度学习框架,分析了哪种深度学习框架发展最快,希望对大家有所帮助。想要更多电子杂志的机器学习,深度学习资源,大家欢迎点击上方蓝字关注我们的公众号:磐创AI。
在2018年9月,我进行了所有主流深度学习框架中关于需求,使用与普及等方面的比较。TensorFlow无可争议是深度学习框架的重量级冠军,PyTorch是新秀。
在过去六个月中,领先的深度学习框架的情况发生了什么变化?
为了回答这个问题,我查看了Indeed,Monster,LinkedIn和SimplyHired上的职位列表数量。我还评估了Google搜索量^10,GitHub活动,Medium文章^1,ArXiv文章^11和Quora论坛^5主题关注者的变化。总的来说,这些来源描绘了需求,使用和兴趣增长的情况。
我们最近在TensorFlow和PyTorch框架中看到了几个重要的进步。
PyTorch v1.0于2018年10月发布,同时fastai v1.0发布。这两个版本都是标志着框架成熟的重要里程碑。
TensorFlow 2.0 alpha于2019年3月4日发布。它增加了新功能并改善了用户体验。它更加紧密地集成了Keras作为其高级API。
在本文中,我将Keras和fastai包含在比较中,因为它们与TensorFlow和PyTorch紧密集成。它们还提供了评估TensorFlow和PyTorch的标准。
我不会在本文中探索其他深度学习框架。这些框架有Caffe,Theano,MXNET,CNTK,DeepLearning4J和Chainer。虽然这些框架各有其优点,但似乎没有一个框架的增长速度可以与TensorFlow或PyTorch相提并论,并且他们也没有与这两个框架紧密结合。
搜索在2019年3月20日至21日进行。源数据在此Google表格中^2。我使用了可视化库来探索流行度。对于交互式图表图表,请在此处查看Kaggle Kernel^3。让我们看看每个类别的结果。
为了确定在当今的就业市场中需要哪些深度学习库,我在Indeed,LinkedIn,Monster和SimplyHired上搜索了工作岗位列表。
我用术语machine learning搜索,术语紧接着连接库名。所以TensorFlow就是通过machine learning TensorFlow进行评估。使用此方法是因为需要与历史数据比较。没有machine learning的前缀进行搜索没有产生明显不同的结果。职位的搜索区域是美国。
我从2019年3月的职位数量中减去了6个月前的数量。这是我发现的并整理的图标:
TensorFlow的列表增幅略大于PyTorch。Keras也看到了增长,大约是TensorFlow的一半。Fastai仍然没有出现任何的工作岗位列表。
请注意,PyTorch在除了LinkedIn以外的所有求职网站上的新增工作岗位列表的数量都超过了TensorFlow。还请注意,按绝对值计算,TensorFlow出现在工作岗位列表中的数量几乎是PyTorch或Keras的三倍。
在最大的搜索引擎上进行网络搜索是衡量人气的指标。我查看过去一年Google搜索记录的趋势。我搜索了全世界对机器学习和人工智能类别的兴趣(Google Interest)。Google不提供绝对的搜索数量,但确实提供了相对数量。
我采用了过去六个月的平均兴趣分数,并将其与前六个月的平均兴趣分数进行了比较。
在过去的六个月中,TensorFlow的相对搜索量有所下降,而PyTorch的相对搜索量却在增长。
下面谷歌的图表显示了过去一年的搜索兴趣。
TensorFlow为蓝色; Keras为黄色,PyTorch为红色,fastai为绿色
Medium论坛^1是数据科学文章和教程的热门论坛。
在过去的六个月里,我使用谷歌搜索了Medium.com,发现TensorFlow和Keras发布了相似数量的文章,PyTorch相对较少。
作为高级API,Keras和fastai受到新的深度学习工作者的欢迎。
arXiv是大多数学术深度学习文章发布的在线存储库。我使用Google搜索了arXiv过去六个月的新文章提及的每一个框架。
TensorFlow的新文章出现率最高。
GitHub的活动是框架流行度的另一个指标。我在下面的图表中展示了stars,forks,watchers(观察者)和contributors(贡献者)。
TensorFlow在每个类别中拥有最多的GitHub活动。然而,PyTorch在观察者和贡献者的增长方面非常接近。此外,Fastai看到了许多新的贡献者。
毫无疑问,Keras的一些贡献者在TensorFlow库中进行了研究。值得注意的是,TensorFlow和Keras都是由Google员工带头的开源产品。
我添加了Quora^5的新主题关注者的数量,这是一个我之前没有统计数据的新指标。
TensorFlow在过去六个月中添加了最多的新主题粉丝。PyTorch和Keras每个也都增加了很多。
获得所有数据后,我将其合并为一个指标。
以下是我创建增长分数的方法:
工作岗位列表占总分的三分之一多一点(钱说了算)。这种划分是各种类别的适当平衡。与我的2018年的分析不同,我没有包括KDNuggets使用情况调查(没有新数据)或书籍的调查(六个月内发布的数量不多)。
以下是表格形式的变化。
Google Sheet 在这里^4。
以下是最终的增长分数。
TensorFlow是需求量最大的框架,也是增长最快的。
PyTorch也在迅速发展。它在工作岗位列表中的大量增加证明了其使用和需求的增加。在过去的六个月里,Keras也有了很大的发展。最后,fastai从一个低的速率在增加,但值得记住的是,它在里面是最年轻的框架。
TensorFlow和PyTorch其实都是很好的框架。
如果你想学习TensorFlow,我建议你从Keras开始。我推荐Python机器学习^7这本书与Dan Becker的 DataCamp course on Keras教程^8。Tensorflow 2.0通过tf.keras作为其高级API间接使用Keras。
我一直听说人们比TensorFlow更喜欢使用PyTorch。PyTorch更具python化,并且具有更一致的API。它还具有原生的ONNX模型导出,可用于加速推理。此外,PyTorch与numpy共享许多命令,这减少了学习它的障碍。
然而,TensorFlow 2.0完全是为了改进用户体验,正如谷歌首席决策情报工程师Cassie Kozyrkov 在此解释的那样。TensorFlow现在将拥有更直接的API,简化的Keras集成和更快的执行选项。这些变化以及TensorFlow的广泛采用应该有助于该框架在未来几年保持流行。
TensorFlow最近宣布了另一个激动人心的计划:Swift for TensorFlow的开发。Swift是一种最初由Apple构建的编程语言。在执行和开发速度方面,Swift比Python有许多优势。Fast.ai将在其高级MOOC课程中使用Swift进行使用TensorFlow。这门语言可能一两年内都不会在黄金时段出现,但它可能比目前的深度学习框架有所改进。
语言和框架之间的协作和促进肯定正在发生。
影响深度学习框架的另一个进步是量子计算。一台可用的量子计算机可能需要几年的时间,但谷歌,IBM,微软和其他公司正在考虑如何将量子计算与深度学习相结合。框架需要适应这项新技术。
你已经看到TensorFlow和PyTorch的数据都在增长。两者现在都有很好的高级API分别是tf.keras和fast.ai,它们降低了深入学习入门的门槛。
要以交互方式使用本文中的图表或Jupyter Notebook,请前往Kaggle Kernel^6。
留言送书福利
为了鼓励大家踊跃在文章留言区分享自己的看法,磐创AI推出了“留言送书”活动~在本文文末留言即可参与活动,留言内容需为主题相关。欢迎大家在日常推文中留言,以后将不定期推出“留言送书”活动。
这次磐小仙精心挑选了本《深度学习之图像识别:核心技术与案例实战》送给大家。本书是一本讲述深度学习在计算机视觉领域的书籍,详尽地讲述了深度学习的各个知识点; 包括深度学习卷积神经网络的理论知识、深度学习中的数据,以及图像分类、图像分割和目标检测等三大图像基础应用; 另外还介绍了深度学习的数据可视化和模型可视化、深度学习中的常用损失函数、模型压缩以及深度学习模型部署的前后端基础知识。 书籍详细介绍可以点击文末阅读原文或者点击下方链接查看。
/ 今日赠送书籍 /
《深度学习之图像识别:核心技术与案例实战》
/ 今日留言主题 /
你现在在用哪种深度学习框架?
你也许还想看:
● 机器学习中的 7 大损失函数实战总结(附Python演练)
● 数据科学中必须知道的5个关于奇异值分解(SVD)的应用
● 使用SlimYOLOv3框架实现实时目标检测
欢迎扫码关注: