导语

人工智能已经存在了很长时间。然而,由于各种库和框架的发展,该领域发生了巨大改进。

本文,我们将研究人工智能的高质量库的优缺点,以及它们特点。让我们潜入并探索这些AI库的世界!

TensorFlow

语言:C++或Python


当你进入AI时,你会听到的第一个框架之一就是Google的TensorFlow。TensorFlow是一个使用数据流图进行数值计算的开源框架。这个框架被称为允许在任何CPU或GPU上进行计算的框架,无论是台式机,服务器还是移动设备,另外这个框架在Python编程语言中是可用的,这也是Python大火的原因。

优点:

使用易于学习的语言(Python);

使用计算图抽象;

可以使用可视化的TensorBoard;

缺点:

很慢,因为Python不是编程语言中最快的;

缺乏许多预先训练的模型;

不完全开源;

CNTK


语言:C++


我们可以称之为它是微软对Google的TensorFlow的回应。

微软的CNTK是一个增强分离计算网络模块化和维护的库,它提供了学习算法和模型描述。在需要大量服务器进行操作的情况下,CNTK可以同时利用多台服务器。

据说它的功能与Google的TensorFlow相近,但是,它更快,在这里了解更多。

优点:

非常灵活;

允许分布式培训;

支持C++,C#,Java和Python;

缺点:

它以一种新的语言——Network Description Language(NDL)来实现;

Theano


语言:Python


Theano是TensorFlow的强有力竞争者,它是一个功能强大的Python库,允许以高效率的方式进行多维数组的数值操作。

该库使用GPU来执行数据密集型计算而不是CPU,因此操作效率很高。出于这个原因,Theano已经被用于为大规模的计算密集型操作长达10年的时间。然而,于2017年9月,Theano的1.0版本停止。

但这并不意味着它不再是一个强大的库,仍然可以随时进行深入的学习研究。

优点:

优化CPU和GPU;

有效的计算任务;

缺点:

与其他库相比,原生Theano有点低级;

需要与其他库一起使用,以获得高度的抽象;

AWS使用它有点bug;

Caffe

“快速,开放的深度学习框架”


语言:C++


Caffe是一个强大的深度学习框架,像这个清单上的其他框架一样,深度学习的研究速度非常快。

借助Caffe,可以非常轻松地构建用于图像分类的卷积神经网络。Caffe在GPU上运行的也很不错,这有助于在运行期间提高速度。

Caffe主类:

优点:

Python和MATLAB都可用;

表现的很好;

无需编写代码即可进行模型的训练;

缺点:

对于RNN网络不太友好;

对于新体系结构不太友好;

Keras

“为人类普及深度学习”


语言:Python


Keras是一个用Python编写的开源的神经网络。与TensorFlow,CNTK和Theano不同,Keras并不意味着是一个端到端的机器学习框架。

相反,它作为一个接口,提供一个高层次的抽象,这使得神经网络的配置变得简单,无论它在哪个框架上。

Google的TensorFlow目前支持Keras作为后端,而微软的CNTK也会在很短的时间内做到这一点。

优点:

对用户非常友好;

很容易扩展;

在CPU和GPU上无缝运行;

与Theano和TensorFlow无缝工作;

缺点:

不能有效的用作独立的框架;

Torch

“一个开源的机器学习库”

语言:C


Torch是一个用于科学和数字操作的开源机器学习库。

这是一个基于Lua编程语言的库而不是Python。

它通过提供大量的算法,使得深度学习研究更容易,并且提高了效率和速度。它有一个强大的N维数组,这有助于切片和索引等操作。它还提供了线性代数程序和神经网络模型。

优点:

非常灵活;

高水平的速度和效率;

大量的预训练模型可用;

缺点:

缺乏即时使用的代码;

它基于一种不那么流行的语言:Lua;

Accord.NET

“机器学习,计算机视觉,统计和.NET通用科学计算”

语言:C#


这里是一个为C#程序员存在的机器学习框架。Accord.NET框架是一个.NET机器学习框架,使音频和图像处理变的简单。

这个框架可以有效的处理数值优化,人工神经网络,甚至可视化。除此之外,Accord.NET对计算机视觉和信号处理功能非常强大,同时也使得算法的实现变的简单。

优点:

有一个庞大而积极的开发团队;

有据可查的框架;

有质量可视化;

缺点:

不是一个非常流行的框架;

比TensorFlow慢;

Spark MLlib

“可扩展的机器学习库”

语言:Scala

Apache的Spark MLlib是一个非常可扩展的机器学习库。它非常适用于java,Scala,Python甚至R语言。它非常搞笑,因为它可以与Python库中的numpy进行互操作。

MLlib可以轻松插入到Hadoop工作流程中。它还提供了机器学习算法,如分类,回归和聚类。这个强大的库在处理大型数据时非常快速。

优点:

对于大规模数据非常快速;

提供支持多语言;

缺点:

不是很完美的学习曲线;

即插即用仅适用于Hadoop;

Sci-kit learn

“用Python进行机器学习”

语言:Python


Sci-kit learn是一个非常强大的机器学习Python库,主要用于构建模型。

使用numpy,SciPy和natplotlib等其他库构建,对统计建模技术(如分类,回归和聚类)非常有效。

Sci-kit learn带有监督学习算法,无监督学习算法和交叉验证等功能。

优点:

许多主要算法的可用性很高;

能够进行有效的数据挖掘;

缺点:

不是创建模型的最佳选择;

GPU效率不高;

MLPack

“可扩展的C++机器学习库”

语言:C++


MLPack是一个用C++实现的可扩展的机器学习库,因为它是用C++编写的,所以可想而知它对于内存管理非常的好。

MLPack以极高的速度运行,可以支持高质量的机器学习算法与库一起运行。这个库对新手很友好,它还提供了一个简单的API帮助新手使用。

优点:

非常容易扩展;

Python和C++都可用;

缺点:

没有具体的参考资料;

长按二维码 ▲

订阅「架构师小秘圈」公众号

如有启发,帮我点个在看,谢谢↓

十大流行AI框架和库的优缺点对比相关推荐

  1. python十大语言_2015 年十大流行 Python语言 库

    本文主要向大家介绍了2015 年十大流行 Python语言 库,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. Python编程语言的一大优势,就在于其丰富的第三方库.经过过去一年 ...

  2. python程序语言和机器人控制系统_机器人十大流行编程语言,机器人编程系统以及方法...

    原标题:机器人十大流行编程语言,机器人编程系统以及方法 如果您问"机器人的最佳编程语言是什么? 计算机视觉程序员会给出不同于认知机器人的答案.每个人都不同意什么是"最好的编程语言& ...

  3. java机器人编程简介_机器人十大流行编程语言的介绍及机器人编程系统以及操作方法...

    "如果您问"机器人的最佳编程语言是什么?计算机视觉程序员会给出不同于认知机器人的答案.每个人都不同意什么是"最好的编程语言",语言首先学习,即使这是最现实的答案 ...

  4. 十大新兴前端框架大盘点【云图智联】展望2020

    2019年在整体上,前端的主流框架没有太大的变化,业务代码仍由三大框架(React.Vue.Angular)所主宰着,打包工具一般仍使用webpack.Rollup.js,状态管理器还是Redux.M ...

  5. 伯朗特机器人编程语言_机器人的最佳编程语言是什么?机器人十大流行编程语言汇总...

    如果您问"机器人的最佳编程语言是什么? 计算机视觉程序员会给出不同于认知机器人的答案.每个人都不同意什么是"最好的编程语言",语言首先学习,即使这是最现实的答案,因为它取 ...

  6. 2015 年出现的十大流行 Python 库

    Python编程语言的一大优势,就在于其丰富的第三方库.经过过去一年的时间,Python的世界中又涌现出了哪些优秀的第三方库呢?在本文中,我将给大家介绍2015年新出现的十大Python开发库.这里比 ...

  7. 一文搞定7大流行后端框架:Spring、Netty、MyBatis、Hibernate、Dubbo...

    框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法:另一种定义认为,框架是可被应用开发者定制的应用骨架.前者是从应用方面而后者是从目的方面给出的定义. 可 ...

  8. 十大被低估的python库_小白必读!十大被低估的Python自带库!

    原标题:小白必读!十大被低估的Python自带库! 大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们 ...

  9. 延长五官 2016年传感器十大流行应用盘点

    有人说,传感器是人类五官的延长,又称之为电五官.人们为了从外界获取信息,必须借助于感觉器官.而单靠人们自身的感觉器官,在研究自然现象和规律以及生产活动中它们的功能就远远不够了.为适应这种情况,就需要传 ...

最新文章

  1. 不上全站https的网站你们就等着被恶心死吧
  2. 信息系统项目管理师--项目整体管理
  3. POJ - 3922 A simple stone game(K倍博弈-斐波那契博弈进阶)
  4. 小程序开发(1)-之目录结构和文件说明
  5. java runtime类 heap_Java 进阶(一) JVM运行时内存模型
  6. 潮流玩具行业趋势与洞察白皮书
  7. 解决网卡无法自动获取ip的办法
  8. (84)Verilog HDL:四舍五入
  9. 《Python数据可视化编程实战》—— 1.2 安装matplotlib、Numpy和Scipy库
  10. zabbix中文乱码的解决办法
  11. Windows核心编程调用打印机
  12. js检查关闭浏览器方法
  13. 快捷键调出计算机桌面小工具,win7桌面怎么快速创建便签小工具
  14. RTC唤醒低功耗(standby)模式
  15. 最新抖音下载无水印视频
  16. iOS12正式版:支持Siri捷径
  17. c语言转换说明符总结(%d,%i,%u,%f,%o,%x,%X,%p,%s,%g,%e)
  18. 【加密算法】凯撒密码的原理及Python实现
  19. 练习题︱豆瓣图书的推荐与搜索、简易版知识引擎构建(neo4j)
  20. 机器人学回炉重造(4):动力学仿真(附牛顿-欧拉递归逆动力学算法matlab代码)

热门文章

  1. hangfire 过期记录_时隔数月后我又有减肥的想法(饮食日记录)
  2. 投影串口测试程序_【原创】串口通信测试程序
  3. 《线性代数》概念定理大全!
  4. 【学习笔记】超简单的多项式除法(含完整证明)
  5. 阶乘C语言超出范围,阶乘新问题-题解(C语言代码)
  6. lightgbm过去版本安装包_云顶手游10.13安装包,6月24日
  7. 带父节点的平衡二叉树_学习数据结构--第四章:树与二叉树(平衡二叉树)
  8. Mapreduce 任务提交源码分析1
  9. ASP.NET MVC开发微信(四)
  10. transmission Linux(debian)下的BT下载客户端安装