您的位置:首页 > 其它

常用深度学习框架简介

2017-11-06 22:27 232 查看
  
由于实验室项目需要,接下来的一段甚至更长的时间,需要将深度学习相关的东西应用到项目当中去。需要用到深度学习相关的知识,自然是选择一款适合自己的深度学习框架是再好不过的。现在将最受欢迎的几款深度学习框架简介列在下面以备后续参考:

1. TensorFlow(star: 75993)

 TensorFlow是一个使用数据流图进行数值计算的开源软件库。 图节点表示数学运算,而图边表示在它们之间流动的多维数据阵列(张量)。 这种灵活的架构允许您在不重写代码的情况下将计算部署到桌面,服务器或移动设备中的一个或多个CPU或GPU。 TensorFlow还包括数据可视化工具包TensorBoard。

 TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

 TensorFlow在很多地方可以应用,如语音识别,自然语言理解,计算机视觉,广告等等。

 TensorFlow官网:https://www.tensorflow.org/

 TensorFlow中文社区:http://www.tensorfly.cn/

 GitHub站点:https://github.com/tensorflow/tensorflow

2. keras(star : 21262)

 Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:

 
简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)

 支持CNN和RNN,或二者的结合

 无缝CPU和GPU切换

 keras官方文档:https://keras.io/

 keras中文文档:http://keras-cn.readthedocs.io/en/latest/

 GitHub站点:https://github.com/fchollet/keras

3. Caffe(star:21064)

 Caffe是一个清晰,可读性高,快速的深度学习框架。 它由伯克利人工智能研究(BAIR)/伯克利视觉和学习中心(BVLC)和社区贡献者开发。主要作者是贾扬清,加州大学伯克利的ph.D,现就职于Facebook。

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

 Caffe官网:http://caffe.berkeleyvision.org/

 Caffe中文社区:http://www.caffecn.cn/

 GitHub站点:https://github.com/BVLC/caffe

4. Caffe2(star:6187)

 Caffe2是一个轻量级,模块化,可扩展的深度学习框架。 在原来的Caffe的基础上,Caffe2的设计思想是表达,速度和模块化。

 

 Caffe2官网 https://caffe2.ai/

 Caffe中文社区:http://www.caffecn.cn/

 GitHub站点:https://github.com/caffe2/caffe2

5. CNTK(star:12942)

 微软认知工具包–CNTK–是微软统一的深度学习工具包。

 CNTK提供Python,C#或C ++接口,也可以通过自己的模型描述语言(BrainScript)作为独立的机器学习工具使用。 另外,您可以使用Java程序中的CNTK模型评估功能。

 

 CNTK官网:https://www.microsoft.com/en-us/cognitive-toolkit/

 GitHub站点:https://github.com/Microsoft/CNTK

6. pytorch(star:8826)

 PyTorch是一个把Python放在首位的深度学习框架。PyTorch不是Python绑定到一个单一的C ++框架。 它被构建为深入Python的集成。

 

 pytorch官网:http://pytorch.org/

 pytorch中文社区:https://ptorch.com/

 pytorch中文文档:http://pytorch-cn.readthedocs.io/zh/latest/

 中文论坛:https://discuss.ptorch.com/

 GitHub站点:https://github.com/pytorch/pytorch

7. torch7(star:7419)

 Torch是Torch7中的主要软件包,其中定义了多维张量的数据结构和数学运算。 此外,它提供了许多用于访问文件的实用程序,序列化任意类型的对象和其他有用的实用程序。

 Torch是一个科学的计算框架,广泛支持GPU首先使用的机器学习算法。 由于使用了简单快捷的脚本语言LuaJIT以及基础的C / CUDA实现,使用起来非常简单,效率也很高。

 

 Torch官网:http://torch.ch/

 GitHub站点:https://github.com/torch/torch7

8. deeplearning4j(star:7581)

 Deeplearning4j是为Java和Scala编写的第一个商业级开源分布式深度学习库。 与Hadoop和Spark集成,DL4J被设计用于分布式GPU和CPU的商业环境。

 

 deeplearning4j官网:https://deeplearning4j.org/

 GitHub站点:https://github.com/deeplearning4j/deeplearning4j

9. Theano(star:7250)

 Theano是一个Python库,它允许你定义、优化和求值数学表达式,特别是具有多维数组(numpy.ndarray)的数学表达式。对于涉及大量数据的问题,使用Theano可以获得与手工编写的C实现不相上下的速度。它还可以通过利用最近的GPU超过CPU上的C多个数量级。

 

 Theano官网:http://www.deeplearning.net/software/theano/

 GitHub站点:https://github.com/Theano/Theano

 中文文档:http://blog.csdn.net/wizardforcel/article/details/55001236

10. incubator-mxnet(star:11890)

 Apache MXNet是一个灵活而高效的深度学习库。

 轻便,便携,灵活的分布式/移动深度学习与动态,突变感知数据流调度; 对于Python,R,Julia,Scala,Go,Javascript等等。

 

 MXNet官网:http://mxnet.incubator.apache.org/

 GitHub站点:https://github.com/apache/incubator-mxnet

 中文文档博客:http://blog.csdn.net/daslab/article/details/50434145

11. deeppy(star:1173)

 DeepPy是建立在NumPy之上的深度学习框架。

 

 DeepPy官网:http://andersbll.github.io/deeppy-website/

 GitHub站点:https://github.com/andersbll/deeppy

 以上就是常用的一些深度学习框架,当然还有许多其他优秀的深度学习框架,这里没有列出来,后面用到了再讨论。。

参考:

DeepLearningStars:https://github.com/hunkim/DeepLearningStars#top-deep-learning-projects

https://www.jiqizhixin.com/articles/2016-08-10-2

http://www.dlworld.cn/YeJieDongTai/5479.html

深度学习框架比较:https://deeplearning4j.org/cn/compare-dl4j-torch7-pylearn

深度学习框架汇总:http://blog.csdn.net/wzz18191171661/article/details/70313426

深度学习的几种库:http://blog.csdn.net/u013066730/article/details/51538983
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: