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

  1. TensorFlow:推荐指数 ☆☆☆☆☆

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

  2. Keras:推荐指数 ☆☆☆☆

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

  3. PyTorch:推荐指数 ☆☆☆☆☆

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

  4. NumPy:推荐指数 ☆☆☆☆

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

  5. scikits-learn:推荐指数 ☆☆☆☆

    这也是一个机器学习的 Python 库,它在处理复杂数据方面能力较强,包含大量的机器学习任务和数据挖掘任务的大量的算法,降维、分类、回归、聚类等各种模型,非常方便。在数据挖掘领域应用较多,也是一个值得深入学习和研究的机器学习库。

上面仅仅推荐了五个人工智能相关的库,准确点更应该说是机器学习或深度学习的框架,从流行程度来看,我们也大致能得出现在主流的人工智能领域研究方法也是深度学习和机器学习。这些库在不同领域和不同方面优势各不一样,本文推荐指数推荐依据,是根据适用场景和学习使用性价比主观推荐,请读者根据需求自行取用。

本公众号后续文章将主要基于 TensorFlow 2 进行学习说明。

五个常见 AI 开发库的更多相关文章

  1. [AI开发]Python+Tensorflow打造自己的计算机视觉API服务

    "与其停留在概念理论层面,不如动手去实现一个简单demo ."       ——鲁迅 没有源码都是耍流氓github 前言 目前提供AI开发相关API接口的公司有很多,国外如微软. ...

  2. [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

    这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...

  3. 干货分享:五大最适合学习AI开发的编程语言

    AI(人工智能)为应用开发者开创了一个全新的可能性.通过利用机器学习或深度学习,您可以生成更好的用户配置文件.个性化设置和推荐,或者整合更智能的搜索.语音界面或智能助手,或者以其他数种方式改进您的应用 ...

  4. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介

    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...

  5. 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”

    摘要:针对企业AI开发应用中面临的痛点和难点,为大家带来从实践出发帮助企业构建成熟高效的AI开发流程解决方案. 在数字化转型浪潮席卷全球的今天,AI技术已经成为行业公认的升级重点,正在越来越多的领域为 ...

  6. [Lua游戏AI开发指南] 笔记零 - 框架搭建

    一.图书详情 <Lua游戏AI开发指南>,原作名: Learning Game AI Programming with Lua. 豆瓣:https://book.douban.com/su ...

  7. TensorFlow?PyTorch?Paddle?AI工具库生态之争:ONNX将一统天下

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 本文地址:https://www.showmeai.tech/artic ...

  8. javaweb学习总结(二十五)——jsp简单标签开发(一)

    一.简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单.便于编 ...

  9. [AI开发]将深度学习技术应用到实际项目

    本文介绍如何将基于深度学习的目标检测算法应用到具体的项目开发中,体现深度学习技术在实际生产中的价值,算是AI算法的一个落地实现.本文算法部分可以参见前面几篇博客: [AI开发]Python+Tenso ...

随机推荐

  1. P1049 找第K大的数

    题目描述 给定一个无序正整数序列, 以及另一个数n (1<=n<=1000000), 然后以类似快速排序的方法找到序列中第n大的数(关于第n大的数:例如序列{1,2,3,4,5,6}中第3 ...

  2. LR性能测试自动化集成JENKINS

    LR11不支持JENKINS集成,解决方案可以使用BAT代替执行,JENKINS定时调用BAT执行性能测试用例.   1. 先随便录制l一个LR脚本,保存为 D:\TEST\test01 2. 打开 ...

  3. 51nod 矩阵快速幂(模板题)

    1113 矩阵快速幂  基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大 ...

  4. TOJ5705动态序列操作(STL or treap)

    传送门:动态序列操作 在一个动态变化的序列中,完成以下基本操作: (1)插入一个整数 (2)删除一个整数 (3)查找序列中最大的数 (4)查找序列中最小的数 (5)求x的前驱(前驱定义为不大于x的序列 ...

  5. CSS3 属性学习

    fill-available表示撑满可用空间(包括高度,宽度)[此处包括padding和margin会尽可能的撑满,只对于行内块(inline-block)和块元素(block)起作用,webkit内 ...

  6. SSL/TLS 配置

    Quick Start 下列说明将使用变量名 $CATALINA_BASE 来表示多数相对路径所基于的基本目录.如果没有为 Tomcat 多个实例设置 CATALINA_BASE 目录,则 $CATA ...

  7. win7+oracle11,vmbox中winxp连接

    重启TNSLSNR  打开CMD,输入以下命令. lsnrctl stop lsnrctl start lsnrctl stat /////////////////////////////////// ...

  8. MySQL数据库性能优化:表、索引、SQL等

    一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...

  9. Kafka学习笔记4--Kafka消费者的客户端(PHP)开发

    一.准备工作 虽然 Kafka 是用 Java/Scala 语言编写的,但这不妨碍它对多语言的支持.可以在 Kafka 官网的 CLIENTS 查看 Kafka 支持的语言,其中包括 C/C++.Py ...

  10. Linux三剑客之sed的基本用法介绍

    [介绍] sed是一款强大的非交互式的文本编辑器,可以对文件文本进行增删改查的相关操作,本文主要是讲解以下sed的基本用法. [常用选项] -e 下一个参数为一个sed指令,一般只会用于同一行有多个s ...