常用深度学习框架简介

来源:互联网 发布:风靡网络的恐怖推理图 编辑:程序博客网 时间:2024/06/05 01:51

  

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


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