close
当前位置: 物联网在线 > 技术文库 >

盘点几种深度学习库

 盘点几种深度学习库

本文总结了Python、Matlab、CPP、Java、JavaScript、Lua、Julia、Lisp、Haskell、.NET、R等语言的深度学习库,赶紧收藏吧!

Python

1. Theano是一个Python类库,用数组向量来定义和计算数学表达式。它使得在Python环境下编写深度学习算法变得简单。在它基础之上还搭建了许多类库。

   1.Keras是一个简洁、高度模块化的神经网络库,它的设计参考了Torch,用Python语言编写,支持调用GPU和CPU优化后的Theano运算。

  2.Pylearn2是一个集成大量深度学习常见模型和训练算法的库,如随机梯度下降等。它的功能库都是基于Theano之上。

  3.Lasagne是一个搭建和训练神经网络的轻量级封装库,基于Theano。它遵循简洁化、透明化、模块化、实用化和专一化的原则。

  4.Blocks也是一个基于Theano的帮助搭建神经网络的框架。

2. Caffe是深度学习的框架,它注重于代码的表达形式、运算速度以及模块化程度。它是由伯克利视觉和学习中心(Berkeley Vision and Learning Center, BVLC)以及社区成员共同开发。谷歌的DeepDream项目就是基于Caffe框架完成。这个框架是使用BSD许可证的C++库,并提供了Python调用接口。

3. nolearn囊括了大量的现有神经网络函数库的封装和抽象接口、大名鼎鼎的Lasagne以及一些机器学习的常用模块。

4. Genism也是一个用Python编写的深度学习小工具,采用高效的算法来处理大规模文本数据。

5. Chainer在深度学习的理论算法和实际应用之间架起一座桥梁。它的特点是强大、灵活、直观,被认为是深度学习的灵活框架。

6. deepnet是基于GPU的深度学习算法函数库,使用Python语言开发,实现了前馈神经网络(FNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、自编码器(AE)、深度玻尔兹曼机(DBM)和卷积神经网络(CNN)等算法。

7. Hebel也是深度学习和神经网络的一个Python库,它通过pyCUDA控制支持CUDA的GPU加速。它实现了最重要的几类神经网络模型,提供了多种激活函数和模型训练方法,例如momentum、Nesterov momentum、dropout、和early stopping等方法。

8. CXXNET是一个基于MShadow开发的快速、简洁的分布式深度学习框架。它是一个轻量级、易扩展的C++/CUDA神经网络工具箱,提供友好的Python/Matlab接口来进行训练和预测。

9. DeepPy是基于NumPy的深度学习框架。

10. DeepLearning是一个用C++和Python共同开发的深度学习函数库。

11. Neon是Nervana System 的深度学习框架,使用Python开发。 

相关链接:从Theano到Lasagne:基于Python的深度学习的框架和库

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
(责任编辑:ioter)

用户喜欢...

盘点·GitHub最著名的20个Python机器学习项目

开源是技术创新和快速发展的核心。这篇文章向你展示Python机器学习开源项目以及在分析过程中发现的非常有趣的见解和趋势。 我们分析了GitHub上的前20名Python机器学习项目,发现scikit-Lear...


【原创深度】WISP为农村地区提供高速互联网接入

互联网为人们的生活提供了便利。在城市中,人们可以通过电缆或光纤接入互联网,轻松获得超百兆带宽的下载速度。然而,这轻而易举就能够得到的资源,在很多农村地区,是无论付出什么...


深度解析FPGA四大设计要点

FPGA的用处比我们平时想象的用处更广泛,原因在于其中集成的模块种类更多,而不仅仅是原来的简单逻辑单元(LE)。早期的FPGA相对比较简单,所有的功能单元仅仅由管脚、内部buffer、LE、RAM构...


初学者必看!深度学习入门指南

前言 机器学习技术为现代社会的许多领域提供了强大的技术支持:从网络搜索到社交网络的内容过滤,再到电子商务网站的产品推荐。机器学习技术正越来越多的出现在消费级产品上,比如...


深度卷积神经网络在目标检测中的进展

近些年来,深度卷积神经网络(DCNN)在图像分类和识别上取得了很显著的提高。回顾从2014到2016这两年多的时间,先后涌现出了R-CNN,Fast R-CNN, Faster R-CNN, ION, HyperNet, SDP-CRC, YOLO,G-CNN, SSD等越来...


【原创深度】CBRS——无线领域的下一代领军技术

经过多年努力,联邦通信委员会(FCC)终于展示了其国家宽带计划——公民宽带无线电服务(CBRS)。它没有像5G技术和物联网那样受到重视,但其影响力仍不容小觑。如果CBRS运行成功,它将...


高速电路中电阻端接有什么作用?有哪几种端接方式?

先说说电路为什么需要端接?众所周知,电路中如果阻抗不连续,就会造成信号的反射,引起上冲下冲,振铃等信号失真,严重影响信号质量。所以在进行电路设计的时候阻抗匹配是很重要的...


Movidius 为深度学习增添优势

Neural Compute Stick ( 神经计算棒),让人工智能在低功率嵌入式应用中成为现实。 人工智能 (AI),与核聚变清洁能源一样,数十年来被人们认为将对社会产生深远的影响,凭借近年来取得的科技进...


【原创深度】僵尸网络引发物联网安全大战:再谈嵌入式安全

贸泽电子 Majeed Ahmad 物联网(IoT)僵尸网络(botnet)的兴起已经成为智能家庭,智慧城市和工业网络化等新兴产业的安全威胁。僵尸网络的分布式拒绝服务(DDoS)攻击已有时日,而且针对物联...


【原创深度】压电马达的驱动设计

对大多数电气工程师而言,“电动机”是指电磁旋转运动单元。当需要线性运动而不是旋转运动时,工程师会考虑添加机械转换装置或者使用线性感应马达。然而,由于控制、公差、反向间隙...