深度学习框架对比

目前比较流行的开源深度学习框架有Tensorflow、Caffe、Theano、Keras、Mxnet、Pytorch等。
以下分别介绍各大框架的基本技术架构和特点。
Tensorflow
tensorflow目前的用户最多,它是Google2015年的发布的一个深度学习框架。
使用时主要通过自定义张量形状、张量之间的计算来搭建计算流图完成深度学习模型的搭建,然后通过输入数据,启动模型即可开始模型训练的过程。Tensorflow擅长各种张量的微分计算、分布式计算等功能,支出GPU调用。
Theano
Theano遵循Tnesorflow的计算风格,擅长数值计算优化。它支持自动函数梯度计算,它有Python接口,集成了Numpy,使得这个库从一开始就成为通用深度学习计算库,而不是深度学习专用库。很多其他的计算库基于Theano的计算能力,包括Blocks和Keras。
Keras
Keras基于Tensorflow和Theano之上,是一个高层库。Keras强调极简主义,以层来搭建网络,所以你可以用寥寥可数的几行代码快速搭建各种功能的神经网络。Keras的官方文档易读性也非常高。
Caffe
Caffe是一个非常老牌的深度学习架构,起初,它并不是一个通用的框架,而是只专注于计算机视觉领域。CaffeNet架构的训练时间在Caffe比在Keras(使用Theano后端)少5倍。Caffe缺乏灵活性。如果你想引入新的改进,你需要在C ++和CUDA编程。如果你要做较小的改进,你可以使用它的Python或Matlab接口来达到。
MxNET
MxNET是一个轻量级且非常优秀的深度学习库。旨在提高性能和灵活性, 也一度是亚马逊选择的深度学习库,它拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 配置提供了良好的配置,有着类似于 Lasagne 和 Blocks 更高级别的模型构建块,并且可以在你可以想象的任何硬件上运行(包括手机)。不仅是支持Python,MXNet 同样提供了对 R、Julia、C++、Scala、Matlab,和 Java 的接口。
PyTorch
基于GPU加速的张量计算和动态神经网络框架,在音频、语音识别上都有很多的应用。

一般来说,对于深度学习小白,可以选择Keras来搭建神经网络,通过花个一两天时间研读神经网络的入门知识以及Keras的官方文档,即可利用Keras的自带数据库Mnist来搭建神经网络模型进行图片识别以及其他的数据分析。

链接:
1、神经网络入门:
https://blog.csdn.net/dyna_lidan/article/details/82460459
https://blog.csdn.net/dyna_lidan/article/details/82462145
2、Keras官方文档:
https://keras-cn.readthedocs.io/en/latest/

你可能感兴趣的:(DL)