赞
踩
IT编程语言深度学习库汇总,主要介绍编程语言Python(Theano、Keras、Pylearn2、Lasagne、Blocks、Caffe)、Matlab、CPP、Java(ND4J、Deeplearning4j、ncog)等相关的深度学习框架,深入了解开发框架对于一个程序员尤为重要。
一、编程语言Python
1、 Theano一个python类库,用数组向量来定义和计算数学表达式。使得在Python环境下编写深度学习算法变得简单。在基础之上还搭建了许多类库。
2、Keras简洁、高度模块化的神经网络库,设计参考了Torch,用Python语言编写,支持调用GPU和CPU优化后的Theano运算。
3、Pylearn2集成大量深度学习常见模型和训练算法的库,如随机梯度下降等。功能库都是基于Theano之上。
4、Lasagne搭建和训练神经网络的轻量级封装库,基于Theano。遵循简洁化、透明化、模块化、实用化和专一化的原则。
5、Blocks也基于Theano的帮助搭建神经网络的框架。
6、Caffe是深度学习的框架,注重于代码的表达形式、运算速度以及模块化程度。是由伯克利视觉和学习中心以及社区成员共同开发。谷歌的DeepDream项目就是基于Caffe框架完成。这个框架是使用BSD许可证的C++库,并提供了Python调用接口。
7、nolearn囊括了大量的现有神经网络函数库的封装和抽象接口、大名鼎鼎的Lasagne以及一些机器学习的常用模块。
8、Genism也用Python编写的深度学习小工具,采用高效的算法来处理大规模文本数据。
9、 Chainer在深度学习的理论算法和实际应用之间架起一座桥梁。特点是强大、灵活、直观,被认为是深度学习的灵活框架。
10、deepnet是基于GPU的深度学习算法函数库,使用Python语言开发,实现了前馈神经网络(FNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、自编码器(AE)、深度玻尔兹曼机(DBM)和卷积神经网络(CNN)等算法。
11、 Hebel也是深度学习和神经网络的一个Python库,通过pyCUDA控制支持CUDA的GPU加速。实现了最重要的几类神经网络模型,提供了多种激活函数和模型训练方法,例如momentum、Nesterov momentum、dropout、和early stopping等方法。
12、 CXXNET基于MShadow开发的快速、简洁的分布式深度学习框架。轻量级、易扩展的C++/CUDA神经网络工具箱,提供友好的Python/Matlab接口来进行训练和预测。
13、DeepPy是基于NumPy的深度学习框架。
14、DeepLearning用C++和Python共同开发的深度学习函数库。
15、 Neon是Nervana System 的深度学习框架,使用Python开发。
总结深度学习常用的20个Python库:核心库与统计:Numpy、Scipy、Pandas、StatsModels;可视化:Matplotlib、Seaborn、Plotly、Bokeh、Pydot、Scikit-learn、XGBoost/LightGBM/CatBoost、Eli5;深度学习:Tensorflow、PyTorch、Keras;分布式深度学习:Dist-keras/elephas/spark-deep-learning;自然语言处理:NLTK、SpaCy、Gensim;数据抓取:Scrapy。
二、编程语言深度学习库Matlab
1、 ConvNet 卷积神经网络类深度学习分类算法,可以从原始数据中自主学习有用的特征,通过调节权重值来实现。
2、 DeepLearnToolBox用于深度学习的Matlab/Octave工具箱,包含深度信念网络(DBN)、栈式自编码器(stacked AE)、卷积神经网络(CNN)等算法。
3、 cuda-convet卷积神经网络(CNN)代码,也适用于前馈神经网络,使用C++/CUDA进行运算。能对任意深度的多层神经网络建模。只要是有向无环图的网络结构都可以。训练过程采用反向传播算法(BP算法)。
4、 MatConvNet面向计算机视觉应用的卷积神经网络(CNN)Matlab工具箱。简单高效,能够运行和学习最先进的机器学习算法。
三、编程语言深度学习库CPP
1、 eblearn是开源的机器学习C++封装库,由Yann LeCun主导的纽约大学机器学习实验室开发。用基于能量的模型实现卷积神经网络,并提供可视化交互界面(GUI)、示例以及示范教程。
2、 SINGA是Apache软件基金会支持的一个项目,设计目标是在现有系统上提供通用的分布式模型训练算法。
3、 NVIDIA DIGITS是用于开发、训练和可视化深度神经网络的一套新系统。把深度学习的强大功能用浏览器界面呈现出来,使得数据科学家和研究员可以实时地可视化神经网络行为,快速地设计出最适合数据的深度神经网络。
4、 Intel? Deep Learning Framework提供了Intel?平台加速深度卷积神经网络的一个统一平台。
四、编程语言Java
1、 N-Dimensional Arrays for Java (ND4J) 是JVM平台的科学计算函数库。主要用于产品中,函数的设计需求是运算速度快、存储空间最省。
2、 Deeplearning4j 是第一款商业级别的开源分布式深度学习类库,用Java和Scala编写。设计目的是为了在商业环境下使用,而不是作为一款研究工具。
3、 Encog机器学习的高级框架,涵盖支持向量机、人工神经网络、遗传编程、贝叶斯网络、隐马可夫模型等,也支持遗传算法。
五、编程语言JavaScript
1、 Convnet.js 由JavaScript编写,完全在浏览器内完成训练深度学习模型(主要是神经网络)的封装库。不需要其软件,不需要编译器,不需要安装包,不需要GPU,甚至不费吹灰之力。
六、编程语言Lua
Torch是一款广泛适用于各种机器学习算法的科学计算框架。使用容易,用快速的脚本语言LuaJit开发,底层是C/CUDA实现。Torch基于Lua编程语言。
七、深度学习框架Julia
Mocha是Julia的深度学习框架,受C++框架Caffe的启发。Mocha中通用随机梯度求解程序和通用模块的高效实现,可以用来训练深度/浅层(卷积)神经网络,可以通过(栈式)自编码器配合非监督式预训练(可选)完成。优势特性包括模块化结构、提供上层接口,可能还有速度、兼容性等更多特性。
八、深度学习框架Lisp
Lus面向对象的编程语言,面向对大规模数值和图形应用感兴趣的广大研究员、实验员和工程师们。拥有机器学习的函数库,其中包含丰富的深度学习库。
九、编程语言Haskell
DNNGraph是Haskell用于深度神经网络模型生成的领域特定语言(DSL)。
十、.NET
Accord.NET 是完全用C#编写的。NET机器学习框架,包括音频和图像处理的类库。是产品级的完整框架,用于计算机视觉、计算机音频、信号处理和统计应用领域。
十一、R语言
1、 darch包可以用来生成多层神经网络(深度结构)。训练的方法包括了对比散度的预训练和众所周知的训练算法(如反向传播法或共轭梯度法)的细调。
2、 deepnet实现了许多深度学习框架和神经网络算法,包括反向传播(BP)、受限玻尔兹曼机(RBM)、深度信念网络(DBP)、深度自编码器(Deep autoencoder)等。
总结,小编主要介绍了Python、Matla、CPP、Java、JavaScript、Lua、Julia、Lisp、Haskell、。NET、R语言共十一种深度学习库,罗列了需要掌握的知识点。想要掌握一门编程语言需要通过练习在实际操作过程中积累编程经验,只看不做是没有用的,希望可以帮到正在学习的你。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。