打印

深度学习软件有哪些?我这里基本上全了

[复制链接]
6854|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
软件链接
  • Theano - Python中的CPU / GPU符号表达式编译器(来自蒙特利尔大学MILA实验室)
  • Torch - 为Lua中的最新机器学习算法提供类似Matlab的环境(来自Ronan Collobert,Clement Farabet和Koray Kavukcuoglu)
  • Pylearn2  - Pylearn2是一个设计用于简化机器学习研究的库。
  • - 用于训练神经网络的Theano框架
  • Tensorflow  - TensorFlow™是使用数据流图进行数值计算的开源软件库。
  • MXNet  - MXNet是一个为提高效率和灵活性而设计的深度学习框架。
  • Caffe -Caffe是一个以表达,速度和模块性为核心的深度学习框架.Caffe是一个以表达,速度和模块性为基础的深度学习框架。
  • Lasagne - Lasagne是一个轻量级的图书馆,用于在Theano建立和训练神经网络。
  • Keras -基于theano深度学习库。
  • 深度学习教程 - 如何使用Theano 进行深度学习(来自蒙特利尔大学LISA实验室)
  • Chainer  - 基于GPU的神经网络框架
  • Matlab深度学习  - Matlab深度学习工具
  • CNTK -计算网络工具包 - 是微软研究院统一的深度学习工具包。
  • MatConvNet  - 实现用于计算机视觉应用的卷积神经网络(CNN)的MATLAB工具箱。它简单,高效,可以运行和学习最先进的CNN。
  • DeepLearnToolbox - Deep Learning的Matlab工具箱(来自Rasmus Berg Palm)
  • BigDL。一个分布式的开源Apache Spark深度学习库,专为高效扩展到多个节点而设计。通过MKL进行CPU优化。Scala和Python支持。(由英特尔公司开发和支持)。https://software.intel.com/bigdlhttps://github.com/intel-analytics/BigDL
  • Cuda-Convnet - 卷积(或更一般地说,前馈)神经网络的快速C ++ / CUDA实现。它可以建模任意层连接和网络深度。任何定向的非循环图层都可以。使用反向传播算法完成训练。
  • 深信仰网络。学习Deep Belief Networks(来自Ruslan Salakhutdinov)的Matlab代码。
  • RNNLM - 托马斯米科洛夫的基于循环神经网络的语言模型工具包。
  • RNNLIB -RNNLIB是用于序列学习问题的递归神经网络库。适用于大多数类型的时空数据,它已被证明对于语音和手写识别特别有效。
  • matrbm。Andrej Karpathy(Matlab)简化版Ruslan Salakhutdinov的代码。
  • deeplearning4j - Deeplearning4J是用Java和Scala编写的Apache 2.0许可的开源分布式神经网络库。
  • 估计RBM的分区功能。用于使用退火重要性抽样(来自Ruslan Salakhutdinov)估算受限玻尔兹曼机器的分区函数的Matlab代码。
  • 学习深玻耳兹曼机器 Matlab代码用于训练和微调深玻耳兹曼机器(来自Ruslan Salakhutdinov)。
  • LUSH编程语言和开发环境,用于@ NYU深卷积网络
  • Eblearn.lsh是一个基于LUSH的机器学习库,用于进行基于能源的学习。它包括用于“预测稀疏分解”的代码和用于无监督学习的其他稀疏自动编码器方法。Koray Kavukcuoglu为此页面上的几个深度学习论文提供Eblearn代码。
  • deepmat - Deepmat,基于Matlab的深度学习算法。
  • MShadow  - MShadow是C ++ / CUDA中的一款轻量级CPU / GPU矩阵/张量模板库。mshadow的目标是支持机器学习项目的高效,设备不变和简单张量库,以实现简单性和性能。支持CPU / GPU /多GPU和分布式系统。
  • CXXNET  - CXXNET是基于MShadow的快速,简洁,分布式的深度学习框架。它是一个轻量级且易于扩展的C ++ / CUDA神经网络工具包,具有友好的用于训练和预测的Python / Matlab界面。
  • Nengo -Nengo是一个基于图形和脚本的软件包,用于模拟大型神经系统。
  • Eblearn是一个C ++机器学习库,具有基于能源的学习,卷积网络,视觉/识别应用等的BSD许可。EBLearn主要由纽约大学的Pierre Sermanet维护。
  • cudamat是一个基于GPU的基于Python的矩阵库。包括用于训练神经网络和受限玻尔兹曼机器的示例代码。
  • Gnumpy是一个Python模块,其接口几乎与numpy完全相同,但在计算机的GPU上进行计算。它运行在cudamat之上。
  • CUV库(GitHub的链路)与Python绑定在基质上容易使用的NVIDIA CUDA功能的C ++框架。它包含一个RBM实现,以及退火重要性采样代码和代码,以精确计算分区函数(来自波恩大学AIS实验室)。
  • 3向因式RBMmcRBM是python代码,称为CUDAMat来训练自然图像模型(来自Marc'Aurelio Ranzato)。
  • 用于训练条件RBM / DBN和因式条件RBM(来自Graham Taylor)的Matlab代码。
  • mPoT是使用CUDAMat和gnumpy来训练自然图像模型的Python代码(来自Marc'Aurelio Ranzato)。
  • neuralnetworks是一个基于java的深度学习算法库。
  • ConvNet是一个基于matlab的卷积神经网络工具箱。
  • Elektronn是一款深度学习工具包,可让机器学习社区外的科学家使用强大的神经网络。
  • OpenNN是用C ++编程语言编写的开源类库,实现了神经网络,这是深度学习研究的主要领域。
  • NeuralDesigner  是一款用于预测分析的创新型深度学习工具。
  • Theano广义Hebbian学习。
  • Apache Singa是一个开源的深度学习库,为可扩展的分布式培训提供了灵活的架构。它可以扩展到多种硬件,并且重点关注医疗保健应用。
  • Lightnet   是一个轻量级,多功能,纯粹基于Matlab的深度学习框架。设计的目的是为深度学习研究提供一个易于理解,易于使用和高效的计算平台。
  • SimpleDNN是一个用Kotlin编写的机器学习轻量级开源库,其目的是支持开发前馈和复发人工神经网络。



相关帖子

沙发
gaoyang9992006|  楼主 | 2018-4-28 19:37 | 只看该作者
深度学习是一种机器学习技术,教授计算机执行人类与生俱来的活动:从示例中学习。深度学习是无人驾驶汽车背后的关键技术,使它们能够识别停车标志,或区分行人与路灯杆。它是手机、平板电脑、电视机和免提扬声器等消费类设备实现语音控制的关键。深度学习近来获得了大量关注,理由也很充分。深度学习正在实现以前不可能实现的成果。

在深度学习中,计算机模型直接从图像、文本或声音中学习执行分类任务。深度学习模型可以达到最先进的精确度,有时甚至超出人类的表现。该模型通过使用大量的标签化数据以及包含许多层的神经网络架构得到训练。

使用特权

评论回复
板凳
gaoyang9992006|  楼主 | 2018-4-28 19:37 | 只看该作者
深度学习如何获得如此惊人的成果?

简而言之,精确。深度学习在比以往更高的层次上实现了识别精确性。这有助于消费电子产品满足用户期望,并且对于无人驾驶汽车等安全关键应用至关重要。深度学习最近已经发展到在一些任务(如对图像中的对象分类)中胜过了人类。

虽然深度学习理论最初创立于上世纪八十年代,但有两个主要原因导致其直到近期才发挥作用:

深度学习需要大量的标签化数据。例如,无人驾驶汽车开发需要数百万张图片和数千小时的视频。
深度学习需要巨大的计算能力。具有并行架构的高性能 GPU 对于深度学习很有效。与集群或云计算相结合时,开发团队能够将深度学习网络的训练时间从数周缩短至数小时或更少。
介绍通过 MATLAB 完成深度学习
MATLAB 深度学习简介 (电子书)
深度学习应用示例
从自动驾驶到医疗设备的各种行业使用了深度学习应用程序。

自动驾驶:汽车研发人员正在使用深度学习来自动检测物体,如停车标志和红绿灯。此外,深度学习还用于探查行人,这有助于减少交通事故。

航空和国防:深度学习用于识别人造卫星照片中的物体以定位关注的区域,以及为部队确定安全或非安全区域。

医学研究:癌症研究人员正在使用深度学习自动检测癌细胞。加州大学洛杉矶分校的团队建造了一种高级显微镜,能产生高维的数据集,用来训练深度学习应用程序以准确地识别癌细胞。

工业自动化:深度学习通过自动检测处于机械不安全距离内的人员或物体,帮助改善在重型机械附近作业的工人的安全性。

电子学 (CES):深度学习正被用于自动听说翻译。例如,响应您的语音并了解您的偏好的家庭助理设备,即是装载了基于深度学习的应用程序。

使用特权

评论回复
地板
gaoyang9992006|  楼主 | 2018-4-28 19:42 | 只看该作者
大多数深度学习方法使用神经网络架构,这也是深度学习模型通常被称为深度神经网络的原因。
“深度”一词通常是指神经网络中的隐藏层数。传统神经网络只包含 2 到 3 个隐藏层,而深度网络可能包含多达 150 个隐藏层。
深度学习模型通过使用大量的标签化数据进行训练,而神经网络架构直接通过数据学习特征,而不需要手动提取特征。






图 1:神经网络由多个层构成,每个层包含一系列互连节点。网络可能包含数十或数百个隐藏层。



卷积神经网络(CNN 或 ConvNet)是最流行的深度神经网络类型之一。CNN 卷积通过输入数据学习到的特征,并使用二维卷积层,使此架构非常适合用来处理二维数据(例如图像)。
CNN 无需使用手动特征提取,因此不需要识别用于对图像进行分类的特征。CNN 通过直接从图像提取特征来运作。不预先训练相关特征;网络在对一组图像进行训练时学习相关特征。这种自动化的特征提取使深度学习模型能够为计算机视觉任务(如对象分类)提供高精确度。







图 2:具有大量卷积层的网络示例。以不同的分辨率对每个训练图像应用滤波器,且每个卷积图像的输出会用作下一层的输入。



CNN 使用数十或数百个隐藏层检测图像的不同特征。每个隐藏层都增加了所学习的图像特征的复杂度。例如,第一个隐藏层可以学习如何检测边缘,而最后一个隐藏层学习如何检测更复杂的形状,特别是针对我们正在尝试识别的对象的形状。
机器学习与深度学习有什么区别?
深度学习是一种特殊的机器学习形式。机器学习工作流程起始于从图像手动提取的相关特征。然后使用这些特征创建对图像中的对象进行分类的模型。在深度学习工作流程中,自动从图像提取相关特征。此外,深度学习还执行“端到端学习”,即为网络提供原始数据和分配要执行的任务(如分类),而神经网络学习如何自动执行此操作。
另一个主要区别是深度学习算**随数据发散,而浅层学习则会收敛。浅层学习是指当您向网络添加更多示例和训练数据时,在一定性能水平上趋于稳定的机器学习方法。
深度学习网络的一个主要优势在于,随着数据量增加,它们经常会持续改进。






图 3.将对车辆进行分类的机器学习方法(左)与深度学习(右)进行比较。



在机器学习中,手动选择用于对图像进行分类的特征和分类器。在深度学习中,特征提取和建模步骤是自动化的。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

1971

主题

15987

帖子

210

粉丝