五个常见 AI 开发库
上一篇文章已经写过了,人工智能的发展不可谓不曲折,三起两落,不同的历史阶段,主流的研究方法不一样,开始时的 if-else 结构,简单的逻辑判断字符串匹配,到后期的穷举计算等,慢慢发展到现在的大数据与深度学习相结合的主流研究方法,逐渐体现出了较大的优势,同时也涌现出了不同的深度学习(机器学习)框架,以下挑选五种主流的框架进行介绍进行对比分析,以供大家参考使用:
TensorFlow:推荐指数 ☆☆☆☆☆

TensorFlow 可谓大名鼎鼎,是 Google 大脑团队开发的深度学习框架,Google 现有产品几乎都使用到了 TensorFlow,比如 Google 的邮件、搜索、语音识别和相册等,无一例外。现在的 TensorFlow 版本已经是 TensorFlow 2 了,较之前的版本有了更大的更新。TensorFlow 核心是由 C 和 C++ 语言编写,但是其提供了几乎完整的 Python 接口支持,可以非常方便的进行系统的构建,同时根据不同的情况,也提供了极其丰富的各平台支持,对于移动端,有 Lite 版本用于 iOS、Android 和 IoT 设备,还有 JavaScript、nodejs、go语言,甚至还有微信小程序的相关支持,在其官网和 GitHub 都有比较详细的文档和实例。其优势也相对明显,有 Google 去保证其质量和后期维护,社区和流行度也比较普及,因此算是学习和使用性价比较高的框架。Keras:推荐指数 ☆☆☆☆

Keras 是一个 Python 深度学习库,是一个相对高级的神经网络 API,其本质是对 TensorFlow(Google)、CNTK(微软) 和 Theano 的封装,可以快速的进行实验。以上是 Karas 官网对其自己的定义,确实它在原型设计和 Demo 实验阶段表现突出,它有很多的工具,在可视化、神经网络模型结构和数据的处理方面都非常好用,是一个需要熟悉和掌握的深度学习框架。PyTorch:推荐指数 ☆☆☆☆☆

PyTorch 是另外一个极其重要的机器学习框架,是 Facebook AI 研究实验室基于 Torch 开发的,Torch 是基于 C 开发Lua 封装的,它的优势是 GPU 支持相对其他框架更好一些,代码写起来更像 Python。他跟 TensorFlow 最大的区别是 TensorFlow 用的是“静态计算图”,PyTorch 用的是“动态计算图”,也就是在运行过程中是否可以改变模型整体计算图,这一点在后续的文章中会再次说明。NumPy:推荐指数 ☆☆☆☆

这也是一个非常流行的 Python 机器学习的库,TensorFlow 和其他的许多库都使用了 NumPy 作为他们功能的一部分,对于多维数组对象,线性代数,傅里叶变换和较强的随机数能力表现都比较突出,值得了解一下,如果有需要更可以深入去学习使用。scikits-learn:推荐指数 ☆☆☆☆

这也是一个机器学习的 Python 库,它在处理复杂数据方面能力较强,包含大量的机器学习任务和数据挖掘任务的大量的算法,降维、分类、回归、聚类等各种模型,非常方便。在数据挖掘领域应用较多,也是一个值得深入学习和研究的机器学习库。
上面仅仅推荐了五个人工智能相关的库,准确点更应该说是机器学习或深度学习的框架,从流行程度来看,我们也大致能得出现在主流的人工智能领域研究方法也是深度学习和机器学习。这些库在不同领域和不同方面优势各不一样,本文推荐指数推荐依据,是根据适用场景和学习使用性价比主观推荐,请读者根据需求自行取用。
本公众号后续文章将主要基于 TensorFlow 2 进行学习说明。
五个常见 AI 开发库的更多相关文章
- [AI开发]Python+Tensorflow打造自己的计算机视觉API服务
"与其停留在概念理论层面,不如动手去实现一个简单demo ." ——鲁迅 没有源码都是耍流氓github 前言 目前提供AI开发相关API接口的公司有很多,国外如微软. ...
- [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建
这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...
- 干货分享:五大最适合学习AI开发的编程语言
AI(人工智能)为应用开发者开创了一个全新的可能性.通过利用机器学习或深度学习,您可以生成更好的用户配置文件.个性化设置和推荐,或者整合更智能的搜索.语音界面或智能助手,或者以其他数种方式改进您的应用 ...
- Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介
Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...
- 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”
摘要:针对企业AI开发应用中面临的痛点和难点,为大家带来从实践出发帮助企业构建成熟高效的AI开发流程解决方案. 在数字化转型浪潮席卷全球的今天,AI技术已经成为行业公认的升级重点,正在越来越多的领域为 ...
- [Lua游戏AI开发指南] 笔记零 - 框架搭建
一.图书详情 <Lua游戏AI开发指南>,原作名: Learning Game AI Programming with Lua. 豆瓣:https://book.douban.com/su ...
- TensorFlow?PyTorch?Paddle?AI工具库生态之争:ONNX将一统天下
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 本文地址:https://www.showmeai.tech/artic ...
- javaweb学习总结(二十五)——jsp简单标签开发(一)
一.简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单.便于编 ...
- [AI开发]将深度学习技术应用到实际项目
本文介绍如何将基于深度学习的目标检测算法应用到具体的项目开发中,体现深度学习技术在实际生产中的价值,算是AI算法的一个落地实现.本文算法部分可以参见前面几篇博客: [AI开发]Python+Tenso ...
随机推荐
- 响应式自适应布局代码,rem布局
响应式自适应布局代码 首先是先设置根字体大小,PC端一般是16px为根字体,移动端会有不同的,根据情况来设置 js部分 document.querySelector('html').style.fon ...
- ppk on javascript 笔记(六)--BOM
浏览器对象模型(Browser Object Model)是语言核心和DOM之间的一个过渡层,这个过渡层特指Javascript的客户端实现,它的主要任务是管理浏览器窗口并使得它们可以彼此通信.win ...
- 【15.93%】【codeforces 672D】Robin Hood
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- JSPs
简介 Tomcat 8.0 使用 Jasper 2 JSP 引擎去实现 JavaServer Pages 2.3 规范. Jasper 2 经过了重新设计,极大改善了上一版 Jasper 的性能.除了 ...
- Java面向对象程序设计第7章1-8
Java面向对象程序设计第7章1-8 1."程序中凡是可能出现异常的地方必须进行捕获或拋出",这句话对吗? 不对. 异常分两类,runtime异常和非runtime异常. runt ...
- 【抖音测试开发日常实习】一二三四面面经,攒人品求Offer
总结: 一.流程 (估计)一面二面技术leader面,三面部门领导面,四面肯定是HR面 二.系统 用的牛客网面试系统,长相大概是这样: 打字聊天框我在听不清对面声音的时候用过,感觉没啥卵用,手撕代 ...
- 我的 2019 年 Python 文章榜单
现在是 2020 年的第一天,我相信从昨天开始,各位的信息流里肯定充斥了各式各样的年度盘点/回顾/总结/记录之类的内容.虽然来得稍晚了,但我还是想给诸位送上这一篇文章. 我将在本文中列出自己于 201 ...
- JAVA异常类Throwable解析
在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类. Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) :二者都是 ...
- 小白进阶之路-python数据类型
1.数据类型:变量值是我们存储的数据,所以数据类型值得就是变量的不同种类 2.数据分类型的原因:变量值是用来保存现实世界的中的状态的,呢么针对不同的状态就应该用不同类型上午数据去表示 (1)整型int ...
- 20191114-2 Beta阶段事后诸葛亮会议
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10005 组长组“多彩夕阳”项目beta阶段诸葛亮会议 设想和目标 1.我 ...