30个深度学习库:按Python和C++等10种语言分类
本文介绍了包括 Python、Java、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、深度自编码器等等。
作者:佚名
来源:51CTO

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开发维护大型 Java 项目的建议
假设你是正在开发和维护一个包含2000个类并使用了很多框架的Java开发者。你要如何理解这些代码?在一个典型的Java企业项目小组中,大部 分能够帮你的高级工程师看起来都很忙。文档也很少。你需要尽快交付成果,并向项目组证明自己的能力。你会如何处理这种状况?这篇文字为开始一个新项目的 Java开发者提供了一些建议。 1、不要试图一下子搞懂整个项目 好好考虑一下,为什么理解项目代码是第一位的?大部分情况是你被要求修复一个bug或者加强系统已有功能。你要做的第一件事情不是理解整个项目的架构。当对项目进行维护时,这样(理解整个项目架构)可能会对你造成巨大的压力。 即便是有着10年可靠编程经验的Java开发者可能也没有理解项目的核心工作机制,尽管他们可能已经在这个项目工作超过一年(假设他们并非原始开发人员)。比如,对于认证机制或事务管理机制。 他们是怎么做的?他们对于自己负责的部分非常了解,并且能够交付价值给小组。每天的交付价值远比了解一些以后还不确定有没有的东西重要的多。 2、关注于尽快交付价值 那我是否定了你对于项目架构理解的热情了么?完全不。我只是要求你尽早的交付价值,一旦你开始一个项目,...
- 下一篇
农行赵维平:农业银行自主可控的大数据平台建设
4月27日,中国大数据峰会上,农总行赵处的讲演,引得台下掌声雷动。“大数据建设只有起点,没有终点,我们一直在路上。在国产化的道路上,希望民族工业无比强大,在国际市场上挺起腰杆!” 500-333文章照片-大数据推动金融创新- 赵维平 中国农业银行软件开发中心的专家赵维平 农总行赵处的讲演的数据着实令国人振奋!农业银行以国产数据库GBase 8a为基础的国内最大的金融大数据平台采用混搭融合架构、双活数据仓库、超大规模数据库集群这些先进技术全部应用其中。56是生产环境,现在实现了56环境的双活!5.2PB数据量、236个节点、每天6000多个复杂的分析任务! 这一系列指标令人咋舌。 这是真正的世界级的银行大数据平台,在容量、性能、架构设计、关键技术等方面都当之无愧。其中令人激动的是,中国真的有软件厂商做到了“世界级”!GBASE真正做到了让中国用上世界级国产数据库!结束了在核心应用领域没有国产数据库可替代的时代! GBASE 2013-2014连续两年在IDC年度研究报告和赛迪顾问发布的《中国平台软件市场研究年度报告》中被评为“国产数据库第一品牌”。 从2014年起,南大通用开始与IBM旗...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Thymeleaf,官方推荐html解决方案