最适合人工智能的十大年夜框架和库谷歌、微软和苹果都在用!_措辞_是一个
本文将着重为大家先容10个人工智能领域高质量的框架和库,剖析它们的特点,比拟它们的优缺陷,帮助更多技能人加入人工智能的圈子中。
1. TensorFlow
“利用数据流图进行可伸缩机器学习的打算。”
措辞:C ++或Python。
一脚踏入人工智能领域时,你听到的第一个框架可能便是Google的TensorFlow。
TensorFlow是一个利用数据流图进行数值打算的开源软件。据悉,这个框架许可在任何CPU或GPU上进行打算,无论是台式机、做事器还是移动设备都支持。
TensorFlow通过称为节点的数据层进行排序,并根据所得到的信息进行决策。
优点:
利用易于学习的措辞(Python)。
利用打算图抽象。
可利用TensorBoard可视化。
缺陷:
由于Python不是最快的编程措辞,以是它速率会很慢;
预先演习的模型十分缺少。
不是完备开源。
2.微软的CNTK
“开源的深度学习工具包”
措辞:C ++。
CNTK,我们可以称之为是微软对Google TensorFlow的回应。
微软的Computational Network ToolKit是一个提高模块化和掩护分离打算网络,供应学习算法和模型描述的库。
CNTK还可以同时利用多台做事器,听说它的功能与Google TensorFlow附近,但是速率却要更快。
优点:
非常灵巧;
许可分布式演习;
支持C ++、C#、Java和Python。
缺陷:
它是用一种新的措辞——Network Description Language (NDL)来实现的;
缺少可视化;
3. Theano
“数值打算库”
措辞:Python。
作为TensorFlow的强大竞争对手,Theano是一个强大的Python库,许可利用高效率的多维数组进行数值操作。
该库利用GPU来实行数据密集型打算,因此操作效率很高。也同样是由于这个缘故原由,在10年的韶光里,Theano都被用于为大规模的打算密集型操作供应动力。
2017年9月,Theano的开拓与掩护者之一 Pascal Lamblin 贴出了一封邮件:Yoshua Bengio 宣告在发布Theano 1.0版本之后,终止Theano的开拓和掩护。当然,这并不虞味着Theano是个不强大的库。
优点:
精确优化CPU和GPU。
高效的数值打算任务。
缺陷:
与其他库比较,原始的Theano有点低级。
须要与其他库一起利用以得到较高的抽象级别。
在AWS上有点小麻烦。
4.Caffe
“快速,开放的深度学习框架”
措辞:C ++。
Caffe是一个强大的深度学习框架。与文中的其它框架一样,深度学习的速率非常快。
借助Caffe,可以非常轻松地构建用于图像分类的卷积神经网络(CNN)。其余Caffe在GPU上也可以良好运行,这有助于在运行期间提高速率。
Caffe main classes:
优点:
Python和MATLAB的绑定可用;
性能表现精良;
无需编写代码即可进行模型的演习。
缺陷:
对付递归网络支持不好;
对付新架构的支持不太友好;
5.Keras
对人类的深度学习
措辞:Python。
Keras是一个用Python编写的开源的神经网络库。
与TensorFlow,CNTK和Theano不同,Keras并不是一个端到真个机器学习框架。相反,它是作为一个接口,供应高层次的抽象,让神经网络的配置变得大略。目前Google TensorFlow已经支持Keras作为后端,不久之后,微软 CNTK也会支持。
优点:
用户友好;
易于扩展;
在CPU和GPU上无缝运行;
与Theano和TensorFlow无缝互助。
缺陷:
不能作为独立框架有效利用。
6.Torch
“一个开源的机器学习库”
措辞:C.
Torch是一个用于科学和数值的开源机器学习库。它是基于Lua的库,通过供应大量的算法,更易于深入学习研究,提高了效率和速率。它有一个强大的n维数组,有助于切片和索引之类的操作。除此之外,还供应了线性代数程序和神经网络模型。
优点:
非常灵巧。
速率快,效率高。
大量的预先演习的模型可用。
缺陷:
文档不清晰;
没有立即利用的即插即用代码。
基于一种不那么盛行的措辞Lua。
7. Accord.NET
“机器学习,打算机视觉,统计和.NET通用科学打算”。
措辞:C#。
这是为C#程序员准备的。
Accord.NET框架是一个.NET机器学习框架,使得音频和图像处理变得大略。
这个框架可以有效地处理数值优化、人工神经网络,乃至是可视化。除此之外,Accord.NET对打算机视觉和旗子暗记处理功能非常强大,同时也使得算法的实现变得大略。
优点:
它拥有一个弘大而生动的开拓团队;
非常有据可查的框架;
可视化质量高。
缺陷:
不是一个非常盛行的框架;
速率比TensorFlow慢。
8. Spark MLlib
“可扩展的机器学习库”
措辞:Scala
Apache Spark MLlib是一个可扩展的机器学习库,适用于Java、Scala、Python、R措辞等多种措辞。由于可以与Python库和R库中的numpy进行互操作,以是非常高效。
MLlib可以轻松插入到Hadoop事情流程中,供应了机器学习算法,如分类,回归和聚类。
这个强大的库在处理大型数据时非常快速。
优点:
对付大规模数据处理非常快速。
支持多种措辞。
缺陷:
陡峭的学习曲线。
即插即用仅适用于Hadoop。
9. Sci-kit Learn
“Python中的机器学习”
措辞:Python。
Sci-kit Learn是一个非常强大的机器学习Python库,紧张用于构建模型。
它利用其他库(如numpy、SciPy和matplotlib)构建,对付统计建模技能(如分类、回归和集群)非常有效。Sci-kit Learn的特性包括监督学习算法、无监督学习算法和交叉验证
优点:
许多紧张算法的可用性。
高效的数据挖掘。
缺陷:
不是最好的构建模型。
GPU效率不高。
10. MLPack
“可扩展的C ++机器学习库”
措辞:C ++。
MLPack是一个用C ++实现的可扩展的机器学习库。由于它是用C ++编写的,以是我们可以合理预测它对内存管理是非常好的。
MLPack以极快的速率运行,由于高质量的机器学习算法与库一起运行,而且它对付新手是非常友好的,并且供应了一个大略的API利用。
优点:
可扩展;
Python和C ++绑定可用。
缺陷:
文档不是很友好。
写在末了
本文推举的库都是经得起韶光考验的,像是Facebook、Google、Apple和Microsoft等一些大公司都在他们的深度学习和机器学习项目中运用这些库,以是你还有什么道理不抓紧韶光来学习呢?
如果你有常常利用并且觉得还不错的库,也欢迎不才方评论中与我们分享!
本文系作者个人观点,不代表本站立场,转载请注明出处!