对比主流深度学习框架

对比主流深度学习框架


在这里插入图片描述

现在的主要的框架主要是呈以上的排名分部

一、有什么框架:

TensorFlow、Theano、Keras、Lasagne、Caffe、DSSTNE、Torch、MXNet、DL4J、Cognitive Toolkit主要是有以上这十种框架。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、各个框架的不同点

1、TensorFlow

​ 是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。

​ TensorFlow是一个相对高阶的机器学习库,用户可以很方便快捷地使用TensorFlow进行设计神经网络接构,而不用再去亲自编写代码。同时它跟Theano一样支持自动求导用户不用再进行反向传播计算求解梯度(Python则会比较消耗资源,并且执行效率不高)。

​ 除了支持常见的网络结构[卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurent Neural Network,RNN)]外,TensorFlow还支持深度强化学习乃至其他计算密集的科学计算(如偏微分方程求解等)。

2、Caffe

​ Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换。

Caffe的优势:

​ 上手快:模型与相应优化都是以文本形式而非代码形式给出。Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。

​ 速度快:能够运行最棒的模型与海量的数据。Caffe与cuDNN结合使用,测试AlexNet模型,在K40上处理每张图片只需要1.17ms.

​ 模块化:方便扩展到新的任务和设置上。可以使用Caffe提供的各层类型来定义自己的模型。

​ 开放性:公开的代码和参考模型用于再现。

​ 社区好:可以通过BSD-2参与开发与讨论。

3、Keras

​ Keras是一个用Python编写的高级神经网络API(Application Programming Interface,应用程序编程接口),它能够以TensorFlow、CNTK、Theano作为后端运行。如果需要以下需求可以使用Kears:

  • 允许简单而快速的原型设计(由于用户友好,高度模块化,可扩展性)。
  • 同时支持卷积神经网络和循环神经网络,以及两者的组合。
  • 在 CPU 和 GPU 上无缝运行。

三、总结

​ 如果要进入这一领域,应该首先学习 Python。尽管这一领域还支持其它很多语言,但 Python 是应用范围最广而且最简单的一个。而且Python的开发速度相对其他语言来讲较快。

我的建议是,如果你是初学者,使用 Keras,如果不是初学者,也可以使用它。如果你参加过 Kaggle 比赛,你肯定注意到了 Kaggle 的两大巨星:Keras 和 XGBoost。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值