分享

头条文章

 高贵的潜伏 2016-12-02

AlphaGo击败了围棋高手李世石后,令本来就热度不减的深度学习更是火了一把。随着深度学习需求的大大增加,IT人对深度学习库的需求也随之而增加起来。今天,就由大圣众包威客平台(http://www./)为你介绍包括Python、Java、Haskell等在内的一系列编程语言的深度学习库。

一、Python

Blocks是一种帮助你在Theano之上建立神经网络模型的框架。

Caffe是一种以表达清晰、高速和模块化为理念建立起来的深度学习框架。它是由伯克利视觉和学习中心(BVLC)和网上社区贡献者共同开发的。谷歌的DeepDream人工智能图像处理程序正是建立在Caffe框架之上。这个框架是一个BSD许可的带有Python接口的C++库。

Chainer连接深度学习中的算法与实现,它强劲、灵活而敏锐,是一种用于深度学习的灵活的框架。

CXXNET是一种快速、简明的分布式深度学习框架,它以MShadow为基础,是轻量级可扩展的C++/CUDA神经网络工具包,同时拥有友好的Python/Matlab界面,可供机器学习的训练和预测使用。

DeepLearning是一个用C++和Python开发的深度学习库。

Deepnet是一种基于GPU的深度学习算法的Python实现,比如:前馈神经网络、受限玻尔兹曼机、深度信念网络、自编码器、深度玻尔兹曼机和卷积神经网络。

DeepPy是一种建立在Mumpy之上的Python化的深度学习框架。

Genism是一个部署在Python编程语言中的深度学习工具包,用于通过高效算法处理的大型文本集。

Hebel是一个在Python中用于带有神经网络的深度学习的库,它通过PyCUDA使用带有CUDA的GPU加速。它可实现大多数目前最重要的神经网络模型,提供了多种不同的激活函数和训练方式,如动量、Nesterov动量、退出(dropout)和前期停止(early stopping)。

Keras是类似Torch的一个精简的、高度模块化的神经网络库。Theano在底层帮助其优化CPU和GPU运行中的张量操作。

Lasagne是一个轻量级的库,它可以在Theano中建立和训练神经网络。它简单、透明、模块化、实用、专一而克制。

Neon是Nervana公司基于Python开发的深度学习框架。

Nolearn包含大量其他神经网络库中的包装器和抽象(wrappersand abstractions),其中最值得注意的是Lasagne,其中也包含一些机器学习的实用模块。

Pylearn2是一个引用大量如随机梯度(Stochastic Gradient)这样的模型和训练算法的库。它在深度学习中被广泛采用,这个库也是以Theano为基础的。

Theano是一种用于使用数列来定义和评估数学表达的Python库。它可以让Python中深度学习算法的编写更为简单。很多其他的库是以Theano为基础开发的。


二、C++

Eblearn是一个机器学习的开源C++库,由纽约大学机器学习实验室的Yann LeCun牵头研发。它是按照GUI、演示和教程来部署的带有基于能量的模型的卷积神经网络。

Intel? Deep LearningFramework为英特尔的平台提供了统一的框架来加速深度卷积神经网络。

NVIDIA DIGITS是一个新的用于开发、训练和可视化的神经网络系统。它把深度学习放进了基于浏览器的界面中,让数据分析师和研究人员可以快速设计最好的深度学习神经网络(DNN)来获取实时的网络行为可视化数据。

SINGA被设计用来进行已有系统中分布式训练算法的普通实现。它由Apache Software Foundation提供支持。


三、Java

Deeplearning4j是第一个为Java和Scala编写的消费级开元分布式深度学习库。它被设计成在商业环境中使用,而非研究工具。

Encog是一种先进的机器学习框架,支持支持向量机(SupportVector Machines)、人工神经网络(Artificial Neural Networks)、基因编程(Genetic Programming)、贝叶斯网络(Bayesian Networks)、隐马尔科夫模型(Hidden Markov Models)和遗传算法(Genetic Algorithms)。

N-Dimensional Arraysfor Java (ND4J)是一种为JVM设计的科学计算库。它们被应用在生产环境中,这就意味着它的路径可以被设计成最小的RAM内存需求来快速运行。


四、JavaScript

Convent.js是一种Javascript中用于深度学习模型(主要是神经网络)的库。它能够完全在浏览器中使用而不需要开发工具、编译器、安装、GPU的支持,简单易用。


五、Lua

Torch是一种科学计算框架,可支持多种计算机学习算法。


六、Julia

Mocha是用于Julia的一种深度学习框架,其灵感来源于C++框架Caffe。在Mocha中通用的随机梯度求解器和公共层的有效实现,可以被用于训练深度/浅层(卷积)神经网络,其带有通过(堆叠的)自动解码器的(可选的)无监督的预训练。它最大的特点包括:带有模块化架构、高层面的接口、便携性与速度、兼容性,等等。


七、Lisp

Lush(Lisp Universal Shell)是一种为研究人员、试验者以及对大规模数值和图形应用感兴趣的工程师设计的,以他们为面向对象的编程语言。它带有丰富的作为机器学习库一部分的深度学习库。


八、Haskell

DNNGraph是一个用Haskell编写的深度神经网络生成DSL。


九、.NET

Accord.NET是一种.NET机器学习框架,包含声音和图像处理库,它完全由C#编写。它是一种为开发生产级的计算机视觉、计算机听觉、信号处理和统计应用而设计的完整框架。


十、R

Darch包可以用于建立多层神经网络(深层结构)。其中的训练方式包括使用对比发散法进行提前训练,或使用通常的训练方法(如反向传播和共轭梯度)进行一些微调。

Deepnet实现了一些深度学习架构和神经网络算法,包括BP、RBM、DBN、深度自编码器等等。


以上根据10个常用的编程语言整理的对应深度学习库,希望对广大想要在人工智能深耕的IT人有所帮助。

(更多大数据与商业智能领域干货、兼职机会及行业资源分享等,请关注“大圣众包”微博,或添加大圣妹个人微信号(dashengmeme)。)

QQ群二维码请扫:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多