专栏首页数据森麟深度学习哪家强?用数据来一较高下吧

深度学习哪家强?用数据来一较高下吧

作者介绍:blmoistawinde,喜欢有意思的数据挖掘分析,本文首发于:https://blog.csdn.net/blmoistawinde

前言

本人现在还是一个初识深度学习的小白。初学者总是会面临选择的纠结,尤其是对看似高深的深度学习,有着众多开源框架可供选择,但自己又没有能力评估。于是我看了许多比较文章,其中涉及各种层面的比较(数据结构、使用范围、实现细节),让姿势水平还远远不够的我看得眼花缭乱。

作为一个数据玩家,我想到,不妨让它们在大数据的战场上一较高下。这样我们就能够很轻松地从清晰的数据中作出我们的选择了。

参赛选手

以下是参赛的选手们,是我了解的python上的一些著名深度学习框架:

Google支持的tensorflow

Facebook支持的pytorch

高层封装,简单易用的Keras

微软加持的CNTK

亚马逊选择的mxnet

百度打造的PaddlePaddle

最老牌的Theano

比赛规则

数据来自Github上这些框架的repo。上面Star数等数据,虽然不是框架好坏的直接反应,但肯定体现了潮流。跟着潮流走总不会有大错,就算学艺不精,总还能和别人谈笑风生。

然而star是一个累计量,还不能完全反映这些框架的近期热门度。这时,我们可以找到"Insight"栏目中的"Pulse"界面。正如它形象的名字(脉搏),其中有着一些能够反应其近期活跃度的数据,以tensorflow为例:

其中Active PRs可以反映近期开发者的活跃度,而Active Issues可以反映近期的使用者的活跃度(用的人越多问题总会越多吗)。

同样,让我们再为老态龙钟的Theano“把把脉”:

尽管Theano因为历史原因累计了不少star,但是因为已经官宣停更,近期很少有活动,奄奄一息。因此,它已经在我们的比赛中提前出局。

综上,我为剩下的选手指定了这些“比赛规则”:

名声:直接用Star来衡量

流行度:直接用Active Issues来衡量

开发活力:反映框架完善提升的潜力。用Active PRs / Star来衡量。除以Star的原因是考虑到项目越大,做的开发工作肯定会更多,所以要做一个修正。

使用活力:反映框架的相对其规模的流行度,较大的话也许可以期待用户数的继续增长。用Active Issues / Star来衡量。

比赛结果

01

名声

Tensorflow一骑绝尘,好用的keras也有不少簇拥,接着是pytorch等其他框架。

02

流行度

此处tensorflow依然是老大,但pytorch后来居上,接近能和tensorflow分庭抗礼了。这也与我近期的观感接近,近期开源的许多强大的NLP模型都提供了基于pytorch的实现,相信也带动了其热度。剩下keras,mxnet,paddlepaddle的流行度差不多,但还有一位CNTK,流行度与以上完全不在一个数量级上,这是要凉的节奏吗?我不能猜测具体原因。

03

活力

在这个指标下,百度的PaddlePaddle表现亮眼,虽然有分母(star)较少的因素,但是其很高的开发活跃度还是会让人期待其未来的发展,pytorch和mxnet也是同理,特别是pytorch使用活跃度极高,相信与近期基于其上的许多开源项目吸引了许多用户不无关系。tensorflow和keras的用户基数比较大,也相对成熟,活力较低。CNTK在此处依然凉凉……

总结

本文不作为专业的建议,但希望能对跟我一样选择困难的深度学习小白提供一些帮助,比如我现在就对pytorch很感兴趣了。不知道大家心中最好的框架又是什么呢?

我也做了一个以上图表的每日更新面板: http://blmoistawinde.pythonanywhere.com/DL_pop

也许框架的更新,会让大牛们现在的基于技术的优劣分析不再适用,但我相信实时的潮流总会有一定的参考价值。曾经深度学习是TF的一家独大,现在PyTorch大有异军突起之势。或许我们可以时时看看这些框架们的战局,虽然还只是个吃瓜群众,但我很期待看看一年后深度学习框架的潮流又会如何呢?

关于技术:

爬虫-requests

可视化-echarts

网站-Flask

本文分享自微信公众号 - 数据森麟(shujusenlin),作者:blmoistawinde

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-21

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用Python预测你有没有女朋友

    武林外传里佟掌柜有一句话,春天已然到来,而属于我的春天何时能够到来呢,小安如此“优秀”,怎么就是没有属于自己的另一半呢,刚巧在浏览GitHub时碰到一个预测自己...

    数据森麟
  • 贝叶斯(下)—实战项目

    在sklearn 中提供的贝叶斯分类算法有三种,分别是:高斯朴素贝叶斯(GaussianNB)、多项式朴素贝叶斯(MultinomialNB)和伯努利朴素贝叶斯...

    数据森麟
  • 随机森林算法梳理

    首先来说一下集成学习。集成学习在学术界和工业界都有很高的热度,例如Kaggle竞赛中神挡杀神佛挡杀佛的XGBoost就是一个典型的例子。那么什么是集成学习?...

    数据森麟
  • 深度学习哪家强?用数据来一较高下吧

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    blmoistawinde
  • 深度学习哪家强?用数据来一较高下吧

    作者介绍:blmoistawinde,喜欢有意思的数据挖掘分析,本文首发于:https://blog.csdn.net/blmoistawinde

    周萝卜
  • 电影封面海报个性化推荐+人工智能设计师

    本文结合Netflix的个性化推荐案例,继续谈《人工智能设计师》的应用。 ? Netflix,让每个用户都看到不一样的电影海报 这家视频网站在最近宣布了他们利用...

    mixlab
  • 雷达信号处理基础之【恒虚警处理】

    恒虚警率CFAR是ConstantFalse-AlarmRate的缩写。在雷达信号检测中,当外界干扰强度变化时,雷达能自动调整其灵敏度,使雷达的虚警概率保持不变...

    数字芯片社区
  • 别学什么土味情话了,唐诗才能帮你撩到女神

    知晓君
  • 编写前置和后置条件的连贯接口库:CuttingEdge.Conditions

    当调用一个方法时,在其执行之前期望其处于特定状态; 也需要完成一些工作之后验证结果的状态。 这些假设被称为前置条件(pre-conditions )和 后置条件...

    张善友
  • 循环神经网络(RNN)是如何循环的?

    循环神经网络(RNN:Recurrent Neural Network)是一种主要用于处理和预测序列数据的神经网络。

    enenbobu

扫码关注云+社区

领取腾讯云代金券