30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类

包括 Python、C++、Java、JavaScript、R、Haskell等在内的一系列编程语言的深度学习库。

一、Python
1、Theano 是一种用于使用数列来定义和评估数学表达的 Python 库。它可以让 Python 中深度学习算法的编写更为简单。很多其他的库是以 Theano 为基础开发的:
Keras 是类似 Torch 的一个精简的,高度模块化的神经网络库。Theano 在底层帮助其优化 CPU 和 GPU 运行中的张量操作。 Pylearn2 是一个引用大量如随机梯度(Stochastic Gradient)这样的模型和训练算法的库。它在深度学习中被广泛采用,这个库也是以 Theano 为基础的。 Lasagne 是一个轻量级的库,它可以在 Theano 中建立和训练神经网络。它简单、透明、模块化、实用、专一而克制。 Blocks 是一种帮助你在 Theano 之上建立神经网络模型的框架。
2、Caffe 是一种以表达清晰、高速和模块化为理念建立起来的深度学习框架。它是由伯克利视觉和学习中心(BVLC)和网上社区贡献者共同开发的。谷歌的 DeepDream 人工智能图像处理程序正是建立在 Caffe 框架之上。这个框架是一个 BSD 许可的带有 Python 接口的 C++库。
3、nolearn 包含大量其他神经网络库中的包装器和抽象(wrappers and abstractions),其中最值得注意的是 Lasagne,其中也包含一些机器学习的实用模块。
4、Genism 是一个部署在 Python 编程语言中的深度学习工具包,用于通过高效的算法处理大型文本集。
5、Chainer 连接深度学习中的算法与实现,它强劲、灵活而敏锐,是一种用于深度学习的灵活的框架。
6、deepnet 是一种基于 GPU 的深度学习算法的 Python 实现,比如:前馈神经网络、受限玻尔兹曼机、深度信念网络、自编码器、深度玻尔兹曼机和卷积神经网络。
7、Hebel 是一个在 Python 中用于带有神经网络的深度学习的库,它通过 PyCUDA 使用带有 CUDA 的 GPU 加速。它可实现大多数目前最重要的神经网络模型,提供了多种不同的激活函数和训练方式,如动量,Nesterov 动量,退出(dropout)和 前期停止(early stopping)。
8、CXXNET 是一种快速,简明的分布式深度学习框架,它以 MShadow 为基础。它是轻量级可扩展的 C++/CUDA 神经网络工具包,同时拥有友好的 Python/Matlab 界面,可供机器学习的训练和预测使用。
9、DeepPy 是一种建立在 Mumpy 之上的 Python 化的深度学习框架。
10、DeepLearning 是一个用 C++和 Python 开发的深度学习库。
11、Neon 是 Nervana 公司基于 Python 开发的深度学习框架。

二、C++
1、eblearn 是一个机器学习的开源 C++库,由纽约大学机器学习实验室的 Yann LeCun 牵头研发。尤其是,按照 GUI、演示和教程来部署的带有基于能量的模型的卷积神经网络。
2、SINGA 被设计用来进行已有系统中分布式训练算法的普通实现。它由 Apache Software Foundation 提供支持。
3、NVIDIA DIGITS 是一个新的用于开发、训练和可视化神经网络系统。它把深度学习放进了基于浏览器的界面中,让数据分析师和研究人员可以快速设计最好的深度学习神经网络(DNN)来获取实时的网络行为可视化数据。
4、Intel® Deep Learning Framework 为英特尔的平台提供了统一的框架来加速深度卷积神经网络。

三、Java
1、N-Dimensional Arrays for Java (ND4J) 是一种为 JVM 设计的科学计算库。它们被应用在生产环境中,这就意味着路径被设计成可以最小的 RAM 内存需求来快速运行。
2、Deeplearning4j 是第一个为 Java 和 Scala 编写的消费级开元分布式深度学习库。它被设计成在商业环境中使用,而非研究工具。
3、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
1、darch 包可以用于建立多层神经网络(深层结构)。其中的训练方式包括使用对比发散法进行提前训练,或使用通常的训练方法(如反向传播和共轭梯度)进行一些微调。
2、deepnet 实现了一些深度学习架构和神经网络算法,包括 BP、RBM、DBN、深度自编码器等等。

30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类的更多相关文章

  1. Python机器学习库和深度学习库总结

    我们在Github上的贡献者和提交者之中检查了用Python语言进行机器学习的开源项目,并挑选出最受欢迎和最活跃的项目. 1. Scikit-learn(重点推荐) www.github.com/sc ...

  2. 64位Win7下安装并配置Python3的深度学习库:Theano

    注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) 这两天在安装Python的深度学习库:Theano.尝试了好多遍,CMake.MinGW ...

  3. 人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_178 聊天机器人(ChatRobot)的概念我们并不陌生,也许你曾经在百无聊赖之下和Siri打情骂俏过,亦或是闲暇之余与小爱同学谈 ...

  4. 深度学习库 SynapseML for .NET 发布0.1 版本

    2021年11月 微软开源一款简单的.多语言的.大规模并行的机器学习库 SynapseML(以前称为 MMLSpark),以帮助开发人员简化机器学习管道的创建.具体参见[1]微软深度学习库 Synap ...

  5. 深度学习 + OpenCV,Python实现实时视频目标检测

    使用 OpenCV 和 Python 对实时视频流进行深度学习目标检测是非常简单的,我们只需要组合一些合适的代码,接入实时视频,随后加入原有的目标检测功能. 在本文中我们将学习如何扩展原有的目标检测项 ...

  6. MXNet深度学习库简介

    MXNet深度学习库简介 摘要: MXNet是一个深度学习库, 支持C++, Python, R, Scala, Julia, Matlab以及JavaScript等语言; 支持命令和符号编程; 可以 ...

  7. windows下Anaconda3配置TensorFlow深度学习库

    Anaconda3(python3.6)安装tensorflow Anaconda3中安装tensorflow3是非常简单的,仅需通过 pip install tensorflow 测试代码: imp ...

  8. Kelp.Net是一个用c#编写的深度学习库

    Kelp.Net是一个用c#编写的深度学习库 基于C#的机器学习--c# .NET中直观的深度学习   在本章中,将会学到: l  如何使用Kelp.Net来执行自己的测试 l  如何编写测试 l  ...

  9. 一个可扩展的深度学习框架的Python实现(仿keras接口)

    一个可扩展的深度学习框架的Python实现(仿keras接口) 动机 keras是一种非常优秀的深度学习框架,其具有较好的易用性,可扩展性.keras的接口设计非常优雅,使用起来非常方便.在这里,我将 ...

随机推荐

  1. https://www.zhihu.com/question/52020960#answer-47024535

    https://www.zhihu.com/question/52020960#answer-47024535

  2. SEO优化笔记

    1,清理垃圾代码. 清理垃圾代码是指删除页面中的冗余代码,可以删除80%的冗余代码,垃圾代码主要指那些删除了也不会对页面有任何影响的非必要代码.最常见的垃圾代码:空格空格字符是网页中最常见的垃圾代码. ...

  3. 安装nodejs+ionic+cordova环境心得

    1.安装node-v0.10.38-x64.msi版本(从nodejs中下载最稳定版本,最后安装ionic安不上,然后又安装node-v0.10.38-x64.msi,再安装ionicok了.不知道是 ...

  4. 网页flv下载探索_1

    最近看了一个优酷视频(非优酷网站,最终地址指向优酷),用chrome开发者工具,可找到flv地址如下,简单摘录如下: http://27.221.100.104/657D4D2878C3382C781 ...

  5. <s:select>中list获取action中数据

    jsp: <s:select name="cate1.id" list="cate1list" listKey="id" listVa ...

  6. Oracle忽略hint的几种情形

    1.hint有语法错误.拼写错误 2.hint无效.比如索引不存在.非等值查询使用hash hint等 3.多个hint之间自相矛盾 4.hint受到了查询转换的影响 5.hint受到了数据库保留字的 ...

  7. mysql参数sql_log_bin

    如果想在主库上执行一些操作,但不复制到slave库上,可以通过修改参数sql_log_bin来实现. 比如想在主库上修改某个表的定义,但是在slave库上不做修改: master mysql> ...

  8. Java NIO 读数据处理过程

    这两天仿hadoop 写java RPC框架,使用PB作为序列号工具,在写读数据的时候遇到一个小坑.之前写过NIO代码,恰好是错误的代码产生正确的逻辑,误以为自己写对了.现在简单整理一下. 使用NIO ...

  9. Java NIO学习(一)

    Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Sel ...

  10. PostgreSQL Replication之第九章 与pgpool一起工作(7)

    9.7 处理故障转移和高可用 可以使用pgpool来解决的一些明显的问题是高可用性和故障转移.一般来讲,有使用pgpool或者不使用pgpool可以用来处理这些问题的各种方法. 9.7.1 使用Pos ...