经过本文咱们来一块儿看一些用于人工智能的高质量AI库,它们的优势和缺点,以及它们的一些特色。程序员
人工智能(AI)已经存在很长时间了。然而,因为这一领域的巨大进步,近年来它已成为一个流行语。人工智能曾经被称为一个完整的书呆子和天才的领域,但因为各类开发库和框架的发展,它已经成为一个友好的IT领域,并有不少人正走进它。算法
在这篇文章中,咱们将研究用于人工智能的优质库,它们的优缺点以及它们的一些特征。让咱们深刻并探索这些人工智能库的世界!编程
“使用数据流图表的可伸缩机器学习的计算”后端
语言:C ++或Python。数组
当进入AI时,你会听到的第一个框架之一就是Google的TensorFlow。服务器
TensorFlow是一个使用数据流图表进行数值计算的开源软件。这个框架被称为具备容许在任何CPU或GPU上进行计算的架构,不管是台式机、服务器仍是移动设备。这个框架在Python编程语言中是可用的。网络
TensorFlow对称为节点的数据层进行排序,并根据所得到的任何信息作出决定。点击查看详情!架构
优势:框架
缺点:机器学习
“开源深度学习工具包”
语言:C ++。
咱们能够称之为微软对Google的TensorFlow的回应。
微软的计算网络工具包是一个加强分离计算网络模块化和维护的库,提供学习算法和模型描述。
在须要大量服务器进行操做的状况下,CNTK能够同时利用多台服务器。
听说它的功能与Google的TensorFlow相近;可是,它会更快。在这里了解更多。
优势:
缺点:
“数值计算库”
语言:Python。
Theano是TensorFlow的强有力竞争者,是一个功能强大的Python库,容许以高效率的方式进行涉及多维数组的数值操做。
Theano库透明地使用GPU来执行数据密集型计算而不是CPU,所以操做效率很高。
出于这个缘由,Theano已经被用于为大规模的计算密集型操做提供动力大约十年。
然而,在2017年9月,宣布Theano的主要开发将于2017年11月发布的1.0版本后中止。
这并不意味着它是一个不够强大的库。你仍然能够随时进行深刻的学习研究。在这里了解更多。
优势:
缺点:
“快速、开源的深度学习框架”
语言:C ++。
Caffe是一个强大的深度学习框架。
像这个清单上的其余框架同样,深度学习的研究速度很是快。
借助Caffe,您能够很是轻松地构建用于图像分类的卷积神经网络(CNN)。Caffe在GPU上运行良好,这有助于在运行期间提升速度。查看主页获取更多信息。
Caffe主要的类有:
优势:
缺点:
“人类的深度学习”
语言:Python。
Keras是一个用Python编写的开源的神经网络库。
与TensorFlow、CNTK和Theano不一样,Keras不是一个端到端的机器学习框架。
相反,它做为一个接口,提供了一个高层次的抽象化,这使得不管它坐落在哪一个框架上,神经网络的配置都会变得容易。
谷歌的TensorFlow目前支持Keras做为后端,而微软的CNTK也会在很短的时间内作到这一点。在这里了解更多。
优势:
缺点:
“一个开源的机器学习库”
语言:C。
Torch是一个用于科学和数字操做的开源机器学习库。
这是一个基于Lua编程语言而非Python的库。
Torch经过提供大量的算法,使得深度学习研究更容易,而且提升了效率和速度。它有一个强大的N维数组,这有助于切片和索引等操做。它还提供了线性代数程序和神经网络模型。点击查看详情!
优势:
缺点:
“机器学习、计算机视觉、统计和.NET通用科学计算”
语言:C#。
这是专为C#程序员设计的。
Accord.NET框架是一个.NET机器学习框架,使音频和图像处理变得简单。
这个框架能够有效地处理数值优化、人工神经网络,甚至可视化。除此以外,Accord.NET对计算机视觉和信号处理的功能很是强大,同时也使得算法的实现变得简单。点击查看详情。
优势:
缺点:
“可扩展的机器学习库”
语言:Scala。
Apache的Spark MLlib是一个很是可扩展的机器学习库。
它很是适用于诸如Java、Scala、Python,甚至R等语言。它很是高效,由于它能够与Python库和R库中的numpy进行互操做。
MLlib能够轻松插入到Hadoop工做流程中。它提供了机器学习算法,如分类、回归和聚类。
这个强大的库在处理大型数据时很是快速。在网站上了解更多信息。
优势:
缺点:
“用Python的机器学习”
语言:Python。
Sci-kit learn是一个很是强大的机器学习Python库,主要用于构建模型。
使用numpy、SciPy和matplotlib等其余库构建,对统计建模技术(如分类、回归和聚类)很是有效。
Sci-kit learn带有监督学习算法、无监督学习算法和交叉验证等功能。点击查看详情!
优势:
缺点:
“可扩展的C ++机器学习库”
语言:C ++。
MLPack是一个用C ++实现的可扩展的机器学习库。由于它是用C ++编写的,因此你能够猜想它对于内存管理是很是好的。
MLPack以极高的速度运行,由于高质量的机器学习算法与库一块儿出现。这个库是对新手友好的,并提供了一个简单的API使用。点击查看详情!
优势:
缺点:
总结
本文讨论的库很是有效,而且随着时间的推移已经证实都是高质量的。像Facebook、谷歌、雅虎、苹果和微软这样的大公司都利用其中的一些库来进行深度学习和机器学习项目,那么你为何不呢?
你能想到你常用的但并不在这个列表中的其余库吗?请在评论区留言与咱们分享!
本文原做者:Anton Shaleynikov