五个常见 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 ...
随机推荐
- [学习笔记]k短路
A*:我已经忘了怎么写了,反正n=30,m=1000都能卡掉... 正解:可持久化左偏树+堆维护可能集合 原论文:http://www.docin.com/p-1387370338.html 概括: ...
- Spring激活profile的方式
Spring中激活profile的方法:设置spring.profiles.active和spring.profiles.default这两个属性 设置激活profile属性的地方(优先级由高到底) ...
- 纯CSS绘制的图形一览
整理网上一些使用纯CSS绘制的图形示例~~纯属抄袭,哈哈...仅仅是为了自己以后查看! Square(正方形) #square { width: 100px; height: 100px; backg ...
- vue-learning:38 - router - 前端路由的发展
前端路由的发展 参考博客 前端路由是什么东西? 什么是路由 在jQuery时代,我们使用<a href="https://www.example.com/example/home.ht ...
- vue中的时间修饰符stop,self
stop阻止自身以外的冒泡 self只会阻止自身冒泡
- 新书《iOS编程(第6版)》抢鲜试读
我最近翻译了Big Nerd Ranch的<iOS编程(第6版)>.我用了大半年时间,尽可能做到通顺易懂.不足之处请大家多多指正.感谢辛苦审校的丁道骏同学. 这本书得过Jolt大奖,原书在 ...
- Vijos1788 第K大 [模拟]
1.题意:给定N个数字,和一个值K,要求输出一组数据中第K大的数字,其中30%的测试点满足:n <= 100;60%的测试点满足:n <= 1000;100%的测试点满足:n <= ...
- linux下安装MariaDB数据库
搜素某个文件:find / -name '文件名(或文件夹名)' 1.编辑yum源:vi /etc/yum.repos.d/MariaDB.repo 2.编辑文件时用到的vi命令: vi 打开一个不存 ...
- 初始Redis与简单使用
初始Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...
- final阶段20191121-5 Scrum立会报告+燃尽图 01
此作业要求参见:http://edu.cnblogs.com/campus/nenu/2019fall/homework/10065 一: 组名:组长组 组长:杨天宇 组员:魏新 罗杨美慧 王歆 ...