深度学习框架该怎样选?这里有个清点
作者头像
  • 陈巧说
  • 2019-12-14 15:40:29 4

导语

当前,深度学习正在蓬勃发展。要想迈入深度学习领域,首先要选择一个适合自己的框架。然而,在众多的框架中,很容易感到迷茫。了解当前主流框架的特点及其适用场景,可以帮助我们做出明智的选择。

什么是深度学习框架

深度学习框架的出现大大降低了入门门槛,使得开发者无需从复杂的神经网络编程开始。熟练掌握一两个深度学习框架,就能快速开展工作。

常见的深度学习框架

1. TensorFlow

TensorFlow是目前最受欢迎的深度学习框架之一。许多知名公司如谷歌、优步、Airbnb和英伟达都在使用它。TensorFlow易于创建和测试深度学习模型,能够方便地集成多种数据源,如图表、表格和图像。由于谷歌的支持,它具有长期发展的潜力,值得投入时间和精力去学习。

2. PyTorch

PyTorch最初是为Facebook开发的,但Twitter和Salesforce等公司也已采用。相比TensorFlow,PyTorch在训练过程中更加简洁明了,非常适合新手。此外,PyTorch还支持数据并行和分布式学习,并包含大量预训练模型。总体来说,PyTorch是第三流行框架,且增长势头迅猛。它还支持一些TensorFlow尚未提供的定制功能。

3. Keras

Keras被誉为“为人类而不是机器设计的API”,在多项评估中排名第二。Keras通常以TensorFlow、Theano或CNTK作为底层引擎。对于初学者,建议从Keras开始。它是一款优秀的学习和原型化工具,能帮助理解各种模型和学习过程。

4. Theano

Theano是由蒙特利尔大学于2007年开发的,是最早的Python深度学习框架之一。尽管其流行度有所下降,主要开发者也宣布不再推出新功能的大版本更新,但Theano依然适合数值计算优化,而不是深度学习。

5. Caffe

Caffe是一款经典的深度学习框架,支持多种编程语言接口,包括C、C++、Python和MATLAB。它以其高速度和灵活性著称,尤其在卷积神经网络(CNN)建模方面表现突出。然而,Caffe不支持像TensorFlow或CNTK那样细粒度的网络层,对递归网络和语言建模的支持较差,需要使用底层语言来构建复杂的层类型。

除了以上介绍的框架,还有MXNet、CNTK、Deeplearning4J、Caffe2和Chainer等,这里不再一一列举。

框架对比

接下来,我们来看一下各框架的基础属性对比:

基础属性对比

再看2018年的能力评分:

能力评分

毫无疑问,TensorFlow占据榜首,Keras和PyTorch紧随其后。

市场需求

目前市场上的深度学习库需求如何?

市场需求

可以看出,TensorFlow是这个领域的领先者。如果你想从事深度学习相关工作,应该学习TensorFlow。Keras和PyTorch同样受到欢迎。

搜索热度

搜索热度方面:

搜索热度

Keras和TensorFlow的搜索热度相差不大,PyTorch位列第三,其他框架的搜索量相对较低。

增长速度

最后,我们来看看2019年上半年的增长速度:

增长速度

TensorFlow继续保持领先地位,PyTorch超过了Keras,FastAI也有不错的表现。

总结

总之,TensorFlow是最受欢迎的选择,尤其是对于初学者,建议从Keras开始。对于研究者来说,TensorFlow和PyTorch都是不错的选择。

    本文来源:图灵汇
责任编辑: : 陈巧说
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
清点框架深度怎样这里学习
    下一篇