它能够构建全功能版的MapD Core数据库,该数据库能够在多GPU的服务器上对数十亿条记录进行二次查询。...我们注意到,虽然基于GPU加速的机器学习正在进入人们的视线,但是在GPU上运行的分析栈却无人涉及。几乎整个GPU机器学习和深度学习都是开源的,但是却没有一个开源的数据处理引擎来协助它。...并且,我们共同发布了我们的第一个项目,GPU数据帧(GPU Data Frame,简称GDF)项目。GPU数据帧允许在GPU进程之间传递数据,而不会增加复制数据或者将数据传递给CPU带来的开销。...我们希望这个项目能为在GPU上实现一个开放的端到端管道迈出一步。 今天开放下面这些源码: MapD Core开源数据库:根据Apache 2许可证提供的MapD Core数据库的源代码。...该代码提供了多GPU加速SQL查询功能。 MapD可视化库:MapD提供的开源JavaScript库,允许用户创建支持MapD Core数据库的基于Web的可视化应用程序。
同时它实现了跨多GPU 和服务器自动分化和并行化的随机梯度下降(SGD,误差反向传播)学习。 下图将CNTK的处理速度(每秒处理的帧数)和其他四个知名的工具包做了比较了。...Theano是一个Python库,它允许使用者有效地定义、优化和评估涉及多维数组的数学表达式,同时支持GPUs和高效符号分化操作。...Theano具有以下特点: -与NumPy紧密相关--在Theano的编译功能中使用了Numpy.ndarray ; -透明地使用GPU--执行数据密集型计算比CPU快了140多倍(针对Float32)...Keras Keras是极其精简并高度模块化的神经网络库,在TensorFlow 或 Theano 上都能够运行,是一个高度模块化的神经网络库,支持GPU和CPU运算。...-多GPU扩展和分布式的自动并行化设置; -支持Python、R、C++和 Julia; -对“云计算”友好,直接兼容S3、HDFS和Azure。
亮点: - cuDNN v5卷积支持(cuDNN v3不再支持) - 修复几个崩溃 Theano 0.8.1(2016年3月29日) 这是一个没有任何新功能的小版本的发布。...强调: Python 2和3支持相同的代码库 更快的优化 集成cuDNN以获得更好的GPU性能 许多Scan改进(执行速度,…) optimizer = fast_compile将计算移动到GPU。...(CorrMM,cudnn,3d conv,更多参数) 使用d3viz的图形交互式可视化 cnmem(更好的GPU内存管理) BreakpointOp 通过Platoon的多GPU数据并行化(https...://github.com/mila-udem/platoon/) 支持更多池参数 图像的双线性插值 新GPU后端: Float16新后端(需要cuda 7.5) 多种类型 多GPU支持在同一个进程...theano.tensor.signal.conv2d(2d,2d)输出2d结果 支持更多卷积参数 图像的双线性插值 加速: 在GPU上更快的SetSubtensor。 在GPU上支持更多缩减模式。
TensorFlow支持Python和C++,也允许在CPU和GPU(多数情况下是同步的)上进行布式计算,甚至也支持使用gRPC进行水平扩展。...现在,虽然Theano的性能依然不错,但是由于它不支持多GPU和水平扩展,在TensorFlow的浪潮下已经开始渐渐被遗忘了。 Keras ? “You have just foundKeras.”...如果我们想要深入了解它的运行机制,就必须去阅读它的源码,同时还需要完成很多重要设置。我们发现,关于DSSTNE的网上教程并不多,而能指导人们实验的就更少了。...2017年的BEEVA技术测试名单里会有mxnet,就是这个原因。 我对多GPU的扩展能力有点怀疑,我愿意去了解实验的更多细节,但是目前我还是对mxnet持怀疑态度。 DL4J ?...目前,大家对深度学习的兴趣越来越浓,但却又不愿意等待算法训练所需要的大量计算时间(而且我说的是GPU,最好不要考虑只使用CPU)。这也是支持多GPU、多机器的水平扩展和硬件定制的引进开始得势的原因。
Keras最大的问题可能是目前无法直接使用多GPU,所以对大规模的数据处理速度没有其他支持多GPU和分布式的框架快。...MXNet的很多作者都是中国人,其最大的贡献组织为百度。它是各个框架中率先支持多GPU和分布式的,同时其分布式性能也非常高。...CNTK支持各种前馈网络,包括MLP、CNN、RNN、LSTM、Sequence-to-Sequence模型等,也支持自动求解梯度。拥有产品级的代码质量,支持多机、多GPU的分布式训练。...CNTK通过写配置文件的方式定义网络结构,还支持Python、C++和C#语言绑定,这样用户就可以用编程的方式设计网络结构。 CNTK原生支持多GPU和分布式,从官网公布的对比测试来看,性能非常不错。...特征描述如下: Powerful:支持CUDA计算,只需要几行代码就可以使用GPU加速,同时只需少改动就可以运行在多GPU上 Flexible:支持多种前馈神经网络,包括卷积网络、循环网络、递归网络,支持运行中动态定义的网络
TensorFlow 支持 Python 和 C++,也允许在 CPU 和 GPU 上的计算分布,甚至支持使用 gRPC 进行水平扩展。 总结:TensorFlow 非常好,但你必须了解它好在哪里。...今天,Theano 依然效果良好,但由于它不支持多 GPU 和水平扩展,在 TensorFlow 的热潮下(它们针对同一个领域),Theano 已然开始被遗忘了。...为了达到这一速度,DSSTNE 框架用 GPU 运行,这也是它的弊端之一:不同于篇中分析的其他框架或者库,这个框架不支持使用者随意在 CPU 和 GPU 中切换,而这可能会对有些尝试有用,但我们在 DSSTNE...这也是为什么我们 2017 的 BEEVA 的技术测试名单里有 mnxet 的原因。 我对多 GPU 的扩展能力有点疑虑并且我很原意去了解这样实验的更多细节,但目前我还是对 mxnet 持怀疑态度。...这也是多 GPU 支持、多机器上的水平扩展甚至定制硬件最近开始得势的原因。 深度学习领域非常活跃、易变。很可能我现在所说的在 2017 年的中旬就变了。
TensorFlow 支持 Python 和 C++,也允许在 CPU 和 GPU 上的计算分布,甚至支持使用 gRPC 进行水平扩展。 总结:TensorFlow 非常好,但你必须了解它好在哪里。...今天,Theano 依然效果良好,但由于它不支持多 GPU 和水平扩展,在 TensorFlow 的热潮下(它们针对同一个领域),Theano 已然开始被遗忘了 3 Keras 链接:https://keras.io...为了达到这一速度,DSSTNE 框架用 GPU 运行,这也是它的弊端之一:不同于篇中分析的其他框架或者库,这个框架不支持使用者随意在 CPU 和 GPU 中切换,而这可能会对有些尝试有用,但我们在 DSSTNE...这也是为什么我们 2017 的 BEEVA 的技术测试名单里有 mnxet 的原因。 我对多 GPU 的扩展能力有点疑虑并且我很原意去了解这样实验的更多细节,但目前我还是对 mxnet 持怀疑态度。...这也是多 GPU 支持、多机器上的水平扩展甚至定制硬件最近开始得势的原因。 深度学习领域非常活跃、易变。很可能我现在所说的在 2017 年的中旬就变了。
这还是2010年的测试结果,近些年无论是Theano还是GPU,性能都有显著提高。...Theano支持CPU、GPU,如果使用GPU还需要安装其驱动程序如CUDA等,限于篇幅,这里只介绍CPU的,有关GPU的安装,大家可参考: http://www.deeplearning.net/software...使用内置的变量类型创建 目前Theano支持7种内置的变量类型,分别是标量(scalar)、向量(vector)、行(row)、列(col)、矩阵(matrix)、tensor3、tensor4等。...变量指向 Apply 节点的过程是用来表示函数通过owner 域来生成它们 。这些Apply节点是通过它们的inputs和outputs域来得到它们的输入和输出变量。...x和y的owner域的指向都是None,这是因为它们不是另一个计算的结果。如果它们中的一个变量是另一个计算的结果,那么owner域将会指向另一个蓝色盒。
要让模型真的跑起来,必须要在可以预想的每一步都想好,并且针对局限制定预防措施。(这就跟搭建软件系统一样,必须跑很多次代码才能了解软件如何运作。)...基础设施 软件 我们研究中的绝大部分代码都是用Python写成,这在我们的开源项目中已经有所体现。我们的GPU计算大部分使用的是TensorFlow,在特定的例子中,会使用Theano。...硬件 对于一个理想的批量作业,集群中的节点数量增加1倍,可以把工作时间减半。不巧的是,在深度学习中,人们经常看到,虽然GPU增多,但是增速却没有多大提升。所以,顶尖的性能要求有最顶级的GPU。...我们也在运营自己的实体服务器,主要跑TitanX GPU,我们希望能有一个混合的云,可以长期使用:用不同的GPU、互联和其他技术进行试验,这对深度学习的未来是很重要的。...我们所有的集群使用的都是非重叠的IP,这些集群在公共互联网上,使用我们研究员笔记本的OpenV**实现互联,在实体节点上使用的则是StrongSwan。
它与GPU一起工作,并执行高效的符号分化。...它支持在多个GPU上运行机器学习模型,为高效的数据流水线提供实用程序,并具有用于模型的检查,可视化和序列化的内置模块。...清晰的多GPU支持 缺点: · 起初在许多基准比Theano-based的选项慢,虽然Tensorflow正赶上它。...它具有类似于Theano和TensorFlow的数据流图,提供对多GPU配置的良好支持,具有类似于Lasagne和Blocks的更高级别的模型构建块,并且可以在任何可以想象的硬件上(包括移动电话)运行。...描述:Python中的张力和动态神经网络具有强大的GPU加速。
Theano Theano支持大部分先进的网络,现在的很多研究想法都来源于Theano,它引领了符号图在编程网络中使用的趋势。Theano的符号API支持循环控制,让RNN的实现更加容易且高效。...Theano支持Python接口。...此外,Theano的导入也会消耗时间,并且在导入之后无法摆脱预配置的设备(例如GPU0)。 Torch非常好,没有TensorFlow和Theano的问题。...另外,在多GPU方面,CNTK相较于其他的深度学习工具包表现更好,它实现了1-bit SGD和自适应的minibatching。...另外,如果想要支持CPU和GPU,用户还必须实现额外的函数,例如Forward_gpu和Backward_gpu;对于自定义的层类型,还必须为其分配一个int类型的id,并将其添加到proto文件中。
相比之下,Deeplearning4j 的目标是成为深度学习领域的 Scikit-learn,力求以可扩展、多个 GPU 或 CPU 并行的方式让尽可能多的控制点实现自动化,在需要时与 Hadoop 和...与 Caffe 不同,Deeplearning4j 支持任意芯片数的 GPU 并行运行,并且提供许多看似微不足道,却能使深度学习在多个并行 GPU 集群上运行得更流畅的功能。...MXNet 的另一个明显的优势是支持分布式计算。这意味着如果你需要在多个 CPU 或 GPU 上训练模型以提高速度,MXNet 是很好的选择。 可扩展性也可能是亚马逊被 MXNet 吸引最大的原因。...此外,Deeplearning4j 为多芯片运行而优化,支持采用 CUDA C 的 x86 和 GPU。 虽然 Torch7 和 DL4J 都采用并行运行,DL4J 的并行运行是自动化的。...我们选择Java,也是为了尽可能多地覆盖主要的程序员群体。
当我们去年11月份写的第一篇评估TensorFlow的文章时,它还存在一些实际和潜在的封锁因素。我很高兴的告诉你们,大多数这些封锁因素现在都已经消除了。 支持多GPU。它能正常工作;文档很简洁。...在v0.8版本中,已经支持了分布式训练。 支持队列,在运算图上进行数据加载和预处理等操作。 使用TensorBoard可视化运算图。在构建、调试新模型时,很容易迷失方向。...虽然很难做出确切的同类比较,但是在在两个框架中实现许多同样的模型给我们的印象是,对于RNN,在给定的GPU上,Theano可能要快一些而且使用更少的内存,也许是因为有逐点操作。...TensorFlow在多GPU上和“编译”时间上更胜一筹。 缺少数据摄取权威样例。 TensorFlow文档和样例集中于使用一些著名的学术数据集来演示各种特性和功能。...(config = tf.ConfigProto(gpu_options = gpu_options)) 默认情况下,Theano与TensorFlow会冲突。
通过GPU加速,Theano甚至可以比基于CPU计算的C语言快好几个数量级。...出身学界的Theano最初是为学术研究而设计的,这使得深度学习领域的许多学者至今仍在使用Theano。 但随着TensorFlow在谷歌的支持下强势崛起,Theano日渐式微,使用的人越来越少。...因为各公司使用的框架不统一,所以我们有必要多学习几个流行框架作为知识储备,TensorFlow无疑是一个不错的选择。...03 MXNet MXNet是亚马逊首席科学家李沐带领团队开发的深度学习框架,拥有类似Theano和TensorFlow的数据流图,为多GPU架构提供了良好的配置,拥有类似Lasagne和Blocks...Caffe一直是深度学习研究者使用的框架,很多研究人员在上面进行开发和优化,因而有了不少沉淀,因此Caffe也是流行的深度学习框架之一。尽管如此,Caffe也存在不支持多机、跨平台、可扩展性差等问题。
微软的CNTK声称拥有最短的RNN训练时间。 在另一个基于Torch、TensorFlow、Theano针对RNN的测试中,Theano的表现是最好的。...多GPU支持:大多数深度学习应用需要大量浮点运算。例如,百度的深度语音识别模型需要百亿亿次浮点运算进行训练,那是每秒大于10的18次方的运算啊。...像NVIDIA公司Pascal架构的TitanX这样的主流GPU每秒能进行110亿次的浮点运算,在一个足够大的数据集上要用超过一周的时间来训练一个新的模型。为节省建立模型时间,需要多机多GPU。...幸运的是,上面提到的大多数技术都提供了这种支持。据报道MXNet有一个最佳的多GPU引擎。 Keras兼容性:Keras是实现快速深度学习原型的一个高水平库。...我们发现它是让数据科学家轻松使用深度学习的一个非常好的工具。Keras目前支持TensorFlow和Theano两个后端,将来会得到TensorFlow的官方支持。
利与弊: 利 Python + NumPy 利 与Theano类似的计算图抽象化 利 编译时间比Theano快很多 利 用TensorBoard进行可视化 利 同时支持数据并行和模型并行 ...相比之下,Deeplearning4j的目标是成为深度学习领域的Scikit-learn,力求以可扩展、多个GPU或CPU并行的方式让尽可能多的控制点实现自动化,在需要时与Hadoop和Spark集成。...与Caffe不同,Deeplearning4j支持任意芯片数的GPU并行运行,并且提供许多看似微不足道,却能使深度学习在多个并行GPU集群上运行得更流畅的功能。...此外,Deeplearning4j为多芯片运行而优化,支持采用CUDA C的x86和GPU。 虽然Torch7和DL4J都采用并行运行,DL4J的并行运行是自动化的。...Scala、Clojure、Python 和 Ruby等其他通行的语言也可以原生支持 Java。我们选择Java,也是为了尽可能多地覆盖主要的程序员群体。
在解决包含大量数据问题的时候,使用 Theano 编程可以获得比手写 C 语言实现更快的速度。通过新近的 GPU 加速,Theano 可以比基于 CPU 计算的 C 语言快上好几个数量级。...Theano 由蒙特利尔大学 LISA 实验室所编写,用来支持高效机器学习算法。其名字来自于一位希腊数学家,她可能也是毕达哥拉斯的妻子。...如 bbsome 在 Reddit 上说:「我是 Theano 的忠实用户,我常常大力提倡使用它进行研究,我最近在一些案例上观察到它的性能要比 TensorFlow 更好,不幸的是,我们没有那么多基准测试...比如,把模型表达为数学表达式、重写计算图以获得更优性能和内存使用、GPU 上的透明执行、更高阶的自动微分,正在全部成为主流。...在这一背景下,我们认为继续维护 Theano 不再是推动全新研究与应用的最佳方式。即使来自学界、业界的贡献与支持不断增加,维持陈旧的代码库并保持竞争已经成为了创新的阻碍。
这其中的一些库我比别人用的多很多,尤其是Keras、mxnet和sklearn-theano。...相比于Theano ,TensorFlow的主要优点是分布式计算,特别是在多GPU的环境中(虽然这是Theano正在攻克的项目)。...这使得创建像GoogLeNet和SqueezeNet这样复杂的网络结构变得容易得多。 我认为Keras唯一的问题是它不支持多GPU环境中并行地训练网络。这可能会也可能不会成为你的大忌。...Mxnet库真正出色的是分布式计算,它支持在多个CPU / GPU机训练你的网络,甚至可以在AWS、Azure以及YARN集群。...虽然mxnet可能需要更多一点的代码来构建和培养网络,但它能够轻松高效地将培养任务分配到多个GPU中。如果你在一个多GPU系统或环境中,并希望充分利用这个环境,那就肯定要试一试mxnet。
文档:http://deeplearning.net/software/theano/ 概述:Theano 是数值计算的主力,它支持了许多我们列表当中的其他的深度学习框架。...它支持在多 GPUs 上运行深度学习模型,为高效的数据流水线提供使用程序,并具有用于模型的检查,可视化和序列化的内置模块。...优点: 由软件巨头 Google 支持 非常大的社区 低级和高级接口网络训练 比基于 Theano 配置更快的模型编译 完全地多 GPU 支持 缺点: 虽然 Tensorflow 正在追赶,但是最初在许多基准上比基于...它拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 配置提供了良好的配置,有着类似于 Lasagne 和 Blocks 更高级别的模型构建块,并且可以在你可以想象的任何硬件上运行...(Tensors)和动态神经网络,有着强大的 GPU 加速。
cuDNN是深度学习基础模块加速库,可以支持所有主流的深度学习框架,比如Caffe、Tensorflow、CNTK、Theano、PyTorch等,这些基础模块指的是深度学习框架中常用的一些layer(...深度学习中常常需要多GPU并行训练,而Nvidia的NCCL库NVIDIA/nccl(https://github.com/NVIDIA/nccl)在各大深度学习框架(Caffe/Tensorflow/...Torch/Theano)的多卡并行中经常被使用。...NCCL是Nvidia Collective multi-GPU Communication Library的简称,它是一个实现多GPU的collective communication通信(all-gather...在最新的NCCL 2.0版本里面,增加了对多服务器节点的支持,在NCCL 1.0版本里面我们只是支持单节点内的多GPU,但目前NCCL 2.0可以支持多节点的,并且可以同时支持PCle和NVLink连接方式
领取专属 10元无门槛券
手把手带您无忧上云