风行AI框架和库的优错误谬误斗劲
摘要: 不知道本身应该选用阿谁AI框架和库?看看本文就行了,本文为AI开发的工程师们梳理了此刻最风行的框架,并简单的分析了它们的优错误谬误。原文:http://click.aliyun.com/m/41390/
人工智能已经存在很长时间,然而,由于这一范围的巨大成长,近年来它已成为一个风行语。人工智能曾经被称为一个书痴人和天才范围,但由于各种库和框架的成长,它已成为一个友好的IT范围,更多的人开始了他们的人工智能之旅。
在这篇文章中,我们将研究人工智能的高质量库的长处和错误谬误,以及它们的一些特点。
1. TensorFlow
“使用数据流图计算进行机器学习”
语言:C ++或Python。
当你进入AI时,你会听到的第一个框架之一就是Google的TensorFlow。TensorFlow是一个使用数据流图进行数值计算的开源框架。这个框架被称为具有允许在任何CPU或GPU长进行计算的架构,无论是台式机,处事器还是移动设备,此外这个框架在Python编程语言中是可用的,这也是Python大火的原因。
TensorFlow是通过称为节点的数据层进行排序,并按照获得的信息做出决定。这是它的官网!
http://pic2.zhimg.com/v2-bd2157f463460f1c306f539aee083e51_r.jpg
长处:
[*]使用易于学习的语言(Python)。
[*]使用计算图抽象。
[*]可以使用可视化的TensorBoard。
错误谬误:
[*]它很慢,因为Python不是编程语言中最快的。
[*]缺乏许多预先训练的模型。
[*]不完全开源。
2.CNTK
“开源深度学习东西包”。
语言:C ++。
我们可以称之为它是微软对Google的TensorFlow的回应。
微软的CNTK是一个增强分手计算网络模块化和维护的库,它提供了学习算法和模型描述。在需要大量处事器进行操作的情况下,CNTK可以同时操作多台处事器。
据说它的功能与Google的TensorFlow附近,但是,它更快,在这里了解更多。
长处:
[*]非常灵活。
[*]允许分布式培训。
[*]撑持C ++,C#,Java和Python。
错误谬误:
[*]它以一种新的语言——Network Description Language(NDL)来实现。
[*]缺乏可视化。
3. Theano
“数值计算库”
语言:Python。
Theano是TensorFlow的强有力竞争者,它是一个功能强大的Python库,允许以高效率的方式进行多维数组的数值操作。
该库透明地使用GPU来执行数据密集型计算而不是CPU,因此操作效率很高。出于这个原因,Theano已经被用于为大规模的计算密集型操作长达十年的时间。然而,于二零一七年九月, Theano的1.0版本遏制。
但这并不意味着它不再是一个强大的藏书楼,你仍然可以随时进行深入的学习研究,在这里了解更多。
http://pic2.zhimg.com/v2-1a8e41d7dd67975c0527196161ca654d_r.jpg
长处:
[*]优化CPU和GPU。
[*]有效的计算任务。
错误谬误:
[*]与其他库对比,原生Theano有点初级。
[*]需要与其他库一起使用以获得高度的抽象。
[*]AWS使用它上有点bug。
4. Caffe
“快速,开放的深度学习框架”
语言:C ++。
Caffe是一个强大的深度学习框架,像这个清单上的其他框架一样,深度学习的研究速度非常快。
借助Caffe,你可以非常轻松地构建用于图像分类的卷积神经网络(CNN)。Caffe在GPU上运行的也很不错,这有助于在运行期间提高速度。查看主页获取更多信息。
Caffe主类:
长处:
[*]Python和MATLAB都可用。
[*]表示的很好。
[*]无需编写代码即可进行模型的训练。
错误谬误:
[*]对于RNN网络不太友好。
[*]对于新体系布局不太友好。
5. Keras
“为人类普及深度学习”
语言:Python。
Keras是一个用Python编写的开源的神经网络库。与TensorFlow,CNTK和Theano分歧,Keras并不意味着是一个端到端的机器学习框架。
相反,它作为一个接口,提供了一个高层次的抽象,这使得神经网络的配置变得简单,无论它坐在哪个框架上。
谷歌的TensorFlow目前撑持Keras作为后端,而微软的CNTK也会在很短的时间内做到这一点。在这里了解更多。
长处:
[*]它对用户非常友好。
[*]它很容易扩展。
[*]在CPU和GPU上无缝运行。
[*]与Theano和TensorFlow无缝工作。
错误谬误:
[*]不能有效地用作独立的框架。
6.Torch
“一个开源的机器学习库”
语言:C.
Torch是一个用于科学和数字操作的开源机器学习库。
这是一个基于Lua编程语言的库而不是Python。
它通过提供大量的算法,使得深度学习研究更容易,而且提高了效率和速度。它有一个强大的N维数组,这有助于切片和索引等操作。它还提供了线性代数法式和神经网络模型。快来看看。
http://pic4.zhimg.com/v2-a632ca3cb5bf5670df96cb6448b000b3_r.jpg
长处:
[*]非常灵活。
[*]高程度的速度和效率。
[*]大量的预训练模型可用。
错误谬误:
[*]缺乏即时使用的代码。
[*]它基于一种不那么风行的语言,Lua。
7. http://Accord.NET
“机器学习,计算机视觉,统计和.NET通用科学计算”。
语言:C#。
这里是一个为C#法式员存在的机器学习框架。http://Accord.NET框架是一个.NET机器学习框架,使音频和图像措置变得简单。
这个框架可以有效地措置数值优化,人工神经网络,甚至可视化。除此之外,http://Accord.NET对计算机视觉和信号措置功能非常强大,同时也使得算法的实现变得简单。查看主页面。
http://pic2.zhimg.com/v2-2e55be667dc6f4d30523595db9459809_r.jpg
长处:
[*]它有一个复杂而积极的开发团队。
[*]有据可查的框架。
[*]有质量可视化。
错误谬误:
[*]不是一个非常风行的框架。
[*]比TensorFlow慢。
8. Spark MLlib
“可扩展的机器学习库”
语言:Scala。
Apache的Spark MLlib是一个非常可扩展的机器学习库。它非常适用于Java,Scala,Python甚至R等语言。它非常高效,因为它可以与Python库和R库中的numpy进行互操作。
MLlib可以轻松插入到Hadoop工作流程中。它还提供了机器学习算法,如分类,回归和聚类。这个强大的库在措置大型数据时非常快速。在网站上了解更多信息。
http://pic2.zhimg.com/v2-98b0b97a4fe5e4756d23f4c7002a65b9_r.jpg
长处:
[*]对于大规模数据非常快速。
[*]提供撑持多种语言。
错误谬误:
[*]不是很完美的学习曲线。
[*]即插即用仅适用于Hadoop。
9. Sci-kit学习
“用Python进行机器学习”
语言:Python。
Sci-kit learn是一个非常强大的机器学习Python库,主要用于构建模型。
使用numpy,SciPy和matplotlib等其他库构建,对统计建模技术(如分类,回归和聚类)非常有效。
Sci-kit学习带有监督学习算法,无监督学习算法和交叉验证等功能。点击查看官网。
长处:
[*]许多主要算法的可用性很高。
[*]能够进行有效的数据挖掘。
错误谬误:
[*]不是创建模型的最佳选择。
[*]GPU效率不高。
10. MLPack
“可扩展的C ++机器学习库”
语言:C ++。
MLPack是一个用C ++实现的可扩展的机器学习库,因为它是用C ++编写的,所以你可以猜测到它对于内存打点的非常好。
MLPack以极高的速度运行,可以撑持高质量的机器学习算法与库一起运行。这个库对新手是友好的,它还提供了一个简单的API辅佐新手使用。官网可以查看。
长处:
[*]非常容易扩展。
[*]Python和C ++都可用。
错误谬误:
[*]没有具体的参考资料。
本文由阿里云云栖社区组织翻译。
文章原标题《progressive-tools10-best-frameworks-and-libraries》
作者 :Anton Shaleynikov
译者:虎说八道
更多技术干货敬请存眷云栖社区知乎机构号:阿里云云栖社区 - 知乎 你好翻译机 请问你是seq2seq吗 学习了!支持。 pytorch caffe2都没有... 这得是多老的资料。。 把 lib 翻译成图书馆,google翻译的吧?
页:
[1]