机器学习中使用的深度自学框架-一分快三官方网址

本文摘要:KerasKeras是一个用Python编写的框架,可以作为antao或者Tensorflow的后端(如下图)。必须说明的是,虽然Keras反对antano和Tensorflow后端,但是输出数据的维度假设是不同的,所以需要精心设计,让代码反对两个后端的工作。

性能

深度自学框架是帮助用户开展深度自学的工具。它的频繁出现降低了开始深度自学的门槛。你不必从一个简单的神经网络开始编码,但是你可以在现有的模型中使用它。

打个比方,一套深度自学习框架看起来就像一套积木,每个组件都是某个模型或算法的一部分,用户可以设计组装出符合数据集市场需求的积木。当然,正因为如此,没有框架是极端的,就像一套积木可能没有你需要的那种积木,所以不同的框架局限于不同的领域。深度自学的框架有很多,但是不同框架之间“好与怕”并没有统一的标准。所以,当你想开始一个深入的自学项目的时候,当你研究有哪些框架可供选择,哪些框架更适合你的时候,你会找到近乎简洁的“手册”告诉他从哪里开始。

首先,让我们熟悉一下深度自学的框架。CaffeCaffe是伯克利视觉与学习中心开发的最成熟的框架之一。它是模块化的,非常慢,几乎不需要额外的工作就可以对抗多个GPU。

它在类似JSON的文本文件中用于描述网络架构和求解器方法。另外,在一个可以使用iTunesCaffe模型和网络权重的网站——“modelzoo”中,也可以帮你慢慢规划样本。但是必须注意的是,在Caffe框架中调整超强参数比其他框架更复杂,部分原因是必须为每组超强参数分别定义不同的解算器和模型文件。

Caffe编写的LeNetCNN构造代码示例。右图是LeNetCNN架构的代码片段。该模型由7层卷积网络组成,仅次于卷积最大池和转录层。

Deeplearning4jDeeplearning4j是AndrejKarpathy开发的多平台框架,针对GPU。它是用Java写的,喜欢用ScalaAPI。Deeplearning4j也是一个成熟的框架(用Lua写的)。

网上可以用的样本很多,反对多个GPU。TensorflowTensorflow是Google开发的一个比较新的框架,但是已经被广泛使用。性能更好,反对多个GPU和CPU。

Tensorflow已经获得了调整网络和监控性能的工具,就像Tensorboard一样,它也有一个网络应用的教育工具。Theano是一个用Python编写的符号逻辑创建网络的框架。

然而,它使用numpy的高效代码库来提高性能,达到了标准的Python。antao在构建网络方面有很大的优势,但在构建原始解决方案方面有很大的挑战。

茶诺将机器学习中使用的梯度作为网络创建的“免费”副产品进行计算,对于那些希望更多关注网络架构而不是梯度计算的人来说,这可能很简单。另外,它的文本文件质量也很好。但有一点必须警告的是,目前安诺已经暂停修改。

千层面是用Python写的,Python是基于antano的框架。这是一个相对简单的系统,有必要使网络建设比Anano所需的更容易。因此,它显示了安诺的创造力。

KerasKeras是一个用Python编写的框架,可以作为antao或者Tensorflow的后端(如下图)。这使得Keras更容易构建原始的解决方案,并且因为每一行代码都创建了一个网络层,所以对于读者来说也更容易。

此外,Keras还享有最先进设备算法(优化器、标准化例程和激活函数)的最佳自由选择。必须说明的是,虽然Keras反对antano和Tensorflow后端,但是输出数据的维度假设是不同的,所以需要精心设计,让代码反对两个后端的工作。

该项目拥有完善的文本文件,并针对各种问题获得了一系列实例,训练了变速器自学习的结构模型,构建通用系统。在撰写本文时,据报道,Tensorflow将使用Keras作为可选的高级软件包。

但是,这并不奇怪,因为Keras的开发者FrancoisChollet本人就是谷歌的软件工程师。Keras MXNetMXNet写的LeNetCNN构建代码的例子是用c写的深度自学框架,有多种语言初始化,反对分布式计算,包含多个GPU。

它获得了对低级结构和更高级/符号化API的访问。指出它在性能上可以与其他框架如Tensorflow、Caffe进行比较。

GitHub获得了很多关于MXNet的教程和培训实例。认知网络工具包(CNTK) CNTK是微软公司开发的一个框架,被称为机器学习的“可视化工作室”。

对于那些使用VisualStudio扩展编程的人来说,这可能是一种更保守有效的转向深度自学的方式。DIGITSDIGITS是英伟达开发的,是基于网络的深度开发工具。在很多方面,像Caffe一样,需要在一个文本文件中使用,而不是用一种编程语言来描述网络和参数。

它有一个网络可视化工具,因此更容易识别文本文件中的错误。此外,它还有可视化自学习过程的工具,反对多个GPU。TorchTorch是用c语言编写的成熟的机器学习框架。它有一个完美的文本,可以根据明确的必要性进行调整。

是一个

因为是用C语言写的,Torch的性能很好。Python Python是Torch计算引擎的Python前端,不仅需要获得Torch的高性能,还需要更好的对抗GPU的收购。这个框架的开发者回应说,PyTorch和Torch的区别在于,某种程度上是一个PCB,但是是一个深度构造的框架,这使得PyTorc在网络建设上有更高的灵活性。

(如下图)PyTorch代码示例及等效框图ChainerChainer与其他框架有些不同,它把网络建设作为其计算的一部分。它的开发人员解释说,在这个框架中,大多数工具是“定义然后操作”的,这意味着您必须先定义架构,然后才能操作它。

Chainer试图构建和优化其架构,使其成为自我学习过程的一部分,或“由操作定义”。除了上面提到的深度自学框架,还有更好的专注于特定任务的开源解决方案。比如Nolearn专注于深度信念网络;sklearn-an ano获得了SCI Kit-Learn(Python中最重要的机器学习库)给出的一个编程语法,可以和an ano库一起使用;Paddle可以获得更好的自然语言处理能力……面对这么多深度自学框架,用户应该如何做出合适的自由选择?对此,词汇网CEO兼创始人MatthewRubashkin和他的团队在计算机语言、教程和训练样本、CNN建模能力、RNN建模能力、易用性、速度、多GPU对立、Keras兼容性等方面比较了不同框架。

并总结如下图:|马修鲁巴斯金(Matthew Rubashkin)毕业于加州大学伯克利分校,UCSF Insight数据工程研究员、博士生。曾在硅谷数据科学(SVDS)工作,带领SVDS深度自学R&D团队开展项目研究,包括物联网设备上的TensorFlow图像识别等。值得注意的是,这一结果结合了MatthewRubashkin在图像和语音识别应用中的主观经验和已发表的基准研究,只是一个阶段性的测试,并没有覆盖所有可用的深度自学习框架。

我们可以看到框架包括DeepLearning4j,Paddle,Chainer等。还没有连接到它。以下是相应的评价依据:计算机语言写作框架中使用的计算机语言不会影响其有效性。

虽然很多框架都有初始化机制,允许用户使用不同于写作框架的语言面试框架,但是写作框架中使用的语言必然会影响后期开发语言的灵活性。所以应用到深度自主学习模式,你熟悉的计算机语言的框架是最差的。

比如Caffe (C)和Torch(Lua)的代码库都是得到Python初始化的,但是如果你想更好的使用它们,你必须精通在C或者Lua中使用它们。相比之下,TensorFlow和MXNet可以反对多种语言,即使用户不精通C语言,也可以很好的利用这项技术。

教程和训练样本框架的文本质量、覆盖范围和示例对于在框架中的有效使用非常重要。高质量的文本文件和待解决问题的例子将有助于有效地解决问题开发者的问题。

完美的文档还指出,工具已经成熟,短期内会有变化。而不同的深度自学框架在市场对教程和训练样本的质量和数量的需求上没有显著差异。例如,Anano、TensorFlow、Torch和MXNet非常容易解释和构建,因为它们有很好的文档编辑器。

此外,我们还发现GitHub社区中不同框架的参与度和活跃度不仅可以作为其未来发展的最重要指标,还可以通过搜索StackOverflow或Git报表事件来确定检测和修复bug的速度。值得注意的是,无论是教程数量、训练样本数量,还是开发者和用户社区(看起来像800斤的大猩猩),TensorFlow的需求量都很大。CNN建模能力卷积神经网络(CNN)由一组不同的层组成,将初始数据量转化为预测语义得分的输入得分。它是一种前馈神经网络,其人工神经元可以调用覆盖区域内的一部分周围单元,对于大规模图像处理来说是突出的,可以作为图像识别、查询引擎、自然语言处理等。

此外,CNN还可以用于再入分析,比如自主车转向角的输入模型。CNN的建模能力还包括几个功能:定义模型的概率空间,真实构建层的可用性,以及可以用来连接这些层的工具和功能。我们可以看到,antano、Caffe、MXNet都有很好的CNN建模功能,这意味着TensorFlow需要更容易地在其InceptionV3模型上构建能力,而Torch还包含了时间卷积集等优秀的CNN资源,这使得这两项技术在CNN建模功能上需要很好的分离。

RNN的建模能力类似于CNN,迭代神经网络(RNN)可以用于语音识别、时间序列预测、图像字幕等必须处理序列信息的任务。由于RNN模式没有美国有线电视新闻网那么多,如果你有一个RNN深度自学项目,考虑什么样的RNN模式是预先实现的,并为特定技术开源是非常重要的。比如Caffe的RNN资源少,而CNTK和微软的Torch则有丰富的RNN教程和预设模型。虽然TensorFlow也有一些RNN资源,但是TFLearn和Keras中包含的RNN例子比TensorFlow中使用的例子少得多。

架构为了在一个特定的框架中创建和训练新的模型,拥有一个易于使用和模块化的前端架构是至关重要的。测试结果表明,TensorFlow、Torch和MXNet都具有直观的模块化架构,使得R&D非常简单直观。

相比之下,像Caffe这样的框架必须花费大量的工作来创建一个新的层。此外,我们还发现,在培训期间和培训之后,调试和监控TensorFlow并不是特别容易,因为已经包含了TensorBoardWebGUI应用程序。在开源卷积神经网络(CNN)方面,Torch和Nervana享有基准测试的最佳性能记录,TensorFlow性能在大多数测试中也是“组合”的,而Caffe和茶诺在这方面并不显眼;在迭代神经网络(RNN)方面,微软声称CNTK的训练时间最短,速度最慢。

当然,还有一个关于RNN建模能力速度的必要研究,指出在antao、Torch和TensorFlow中,antao是最差的。多GPU反对大多数深度自学习应用必须有大量浮点运算(FLOP)。

比如百度的DeepSpeech识别模型,必须在10秒内用ExaFLOPs进行训练。那还不到10的18次方!作为领先的图形处理单元(GPU)——,比如NVIDIA的PascalTitanX,每秒可以继续执行11万亿次浮点运算,在足够大的数据集上训练一个新模型需要一周时间。为了增加构建模型所需的时间,需要多台机器上的多个GPU。

幸运的是,上面列出的大多数技术都赢得了这一异议。比如MXNet有一个高度优化的多GPU引擎。

Keras Compatibility Keras是一个用于开发慢速深度自学原型设计的高级库,是数据科学家自由应用于深度自学的工具。Keras目前反对两个后端——传感器流和茶诺,也将在TensorFlow中获得数月的反对。MatthewRubashkin建议,当你想开始一个深入的自学项目时,首先要评估你的团队的技能和项目的市场需求。

比如,对于以Python为中心的团队的图像识别应用,他建议使用TensorFlow,因为它的文本文件非常丰富,性能合适,也享有优秀的原型设计工具。如果要将RNN扩展到具有Lua能力的客户团队产品,它之所以被引入火炬是因为其出色的速度和RNN建模能力。综上所述,对于大多数人来说,从零开始编写深度自学习算法的成本是很低的,利用深度自学习框架中的巨大资源更有效率。如何自由选择更合适的框架,会因用户的技能和背景而异,明确项目的市场需求。

所以,当你想开始一个深入的自学项目时,确实需要一些时间来评估可用的框架,以确保最大的技术价值。

本文关键词:网络,深度,的是,一分快三官网

本文来源:一分快三-www.101-3c.com