基于 10 大编程语言的 30 个深度学习库

本文介绍了包括 Python、Java、Haskell等在内的一系列编程语言的深度学习库。

Python

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

  1. Keras 是类似 Torch 的一个精简的,高度模块化的神经网络库。Theano 在底层帮助其优化 CPU 和 GPU 运行中的张量操作。
  2. Pylearn2 是一个引用大量如随机梯度(Stochastic Gradient)这样的模型和训练算法的库。它在深度学习中被广泛采用,这个库也是以 Theano 为基础的。
  3. Lasagne 是一个轻量级的库,它可以在 Theano 中建立和训练神经网络。它简单、透明、模块化、实用、专一而克制。
  4. Blocks 是一种帮助你在 Theano 之上建立神经网络模型的框架。

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

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

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

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

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

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

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

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

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

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

C++

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

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

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

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

Java

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

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

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

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、深度自编码器等等。

声明:本文系网络转载,版权归原作者所有。如涉及版权,请联系删除!

原文发布于微信公众号 - 智能算法(AI_Algorithm)

原文发表时间:2016-11-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能

从零开始学人工智能-Python·决策树(四)·树

作者:射命丸咲Python 与 机器学习 爱好者 知乎专栏:https://zhuanlan.zhihu.com/carefree0910-pyml 个人网站:...

2779
来自专栏AI研习社

看硅谷数据工程师如何使用TensorFlow构建、训练和改进RNN

在本文中,我们提供了一个用于训练语音识别的RNN的简短教程,其中包含了GitHub项目链接。 ? 作者:Matthew Rubashkin、Matt Molli...

4344
来自专栏CSDN技术头条

各种编程语言的深度学习库整理

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

2338
来自专栏窗户

Conway生命游戏

  1970年,英国数学家Conway发明了生命游戏。抛开元胞自动机的复杂概念,我们只是去感受一下二维的生命游戏,这其实是元胞自动机的一个特例。

2621
来自专栏AI科技评论

ACL2016最佳论文:CNN/日常邮件阅读理解任务的彻底检查

摘要 NLP尚未解决的核心目标是,确保电脑理解文件回答理解问题。而通过机器学习系统,解决该问题的一大阻碍是:人类-注释数据的可用性有限。Hermann等人通过生...

3134
来自专栏磐创AI技术团队的专栏

【干货】史上最全的Tensorflow学习资源汇总

在之前的Tensorflow系列文章中,我们教大家学习了Tensorflow的安装、Tensorflow的语法、基本操作、CNN的一些原理和项目实战等。本篇文章...

6129
来自专栏人工智能

Logistic Regression Models分析交互式问答译

本文是一篇关于交互式问答系统中如何通过文本特征工程构建和Logistic Regression判定话题/主题/意图延续还是转换的论文,提供了一条比较好的思路,对...

1968
来自专栏机器之心

机器之心论文解读:可用于十亿级实时检索的循环二分嵌入模型(RBE)

论文链接:https://arxiv.org/pdf/1802.06466.pdf

1112
来自专栏新智元

【开源】谷歌“一个模型解决所有DL难题”背后的Tensor2Tensor

【新智元导读】引起热议的两篇谷歌大脑的论文《一个模型解决所有问题》和《你只需要注意力机制》,其背后是一个名为 Tensor2Tensor 的模块化深度学习系统。...

4124
来自专栏AI科技评论

深度丨目前最受欢迎的 LSTM 教程:谷歌大脑科学家亲解

AI 科技评论按:这篇文章非常经典,出自 Google Brain 科学家 Christopher Olah 的博客,小编保证这是相对通俗易懂的一篇入门介绍了,...

3835

扫码关注云+社区

领取腾讯云代金券