文章 答疑

AI 入门,从零搭建完整 AI 开发环境,并写出第一个 AI 应用

AI 入门,从零搭建完整 AI 开发环境,并写出第一个 AI 应用

随着 AI 越来越深入的发展,智能革命的浪潮隐约到来,悄然的影响着软件行业。

那么,作为多年的程序员,或者准备着成为新一代程序员的读者们,该如何为智能时代做好准备,成为 AI 时代的程序员呢?网上铺天盖地的教程,大部分都是从高数、线代、概率讲起的算法基础,或者是讨论某某网络的算法,比较模型的效果,偏研究和数据科学。多学一些知识,当然是很好的,但毕竟需要不少的时间,在软件开发中积累的经验好像也用不上太多。

如果程序员们从自己擅长的领域出发,逐步融入 AI 热潮中,岂不是取长补短,事半功倍?从另一方面来看,以后是不是只需要开发 AI 模型就够了呢?显然不是,AI 模型会带来智能革命,但传统的软件开发仍然是基础。就像工业革命发生后,人类仍然需要农业提供足够的粮食;信息革命发生后,也需要工业革命所带来的巨大工业生产力。因此,智能革命也会基于信息革命所构建的巨大的软件制造经验和能力之上。

本文帮你入门 AI 应用开发,写出第一个 AI 程序 -- 手写识别(见下图)。同时会穿插着讲一些必备的 AI 知识和背景,带你走入 AI 新世界的大门。找个网络环境较好的地方,计划好空闲的时间,放松心情,一步步学习下来,保准你收获满满,888。

enter image description here

注意:安装过程中要下载的软件较多,建议在网速稳定且较快的环境下进行。整个时长取决于预先安装的情况,以及网络状况。通常一个多小时即可完成环境搭建和 AI 应用。

配置 AI 开发环境

安装要求

  • Windows 64 位版本
    强烈推荐升级到 Windows 10 的最新发行版,并安装上所有更新。Windows 7,Windows 8 也需要64位版本,推荐安装所有系统更新。
  • Visual Studio
    本教程将安装 Visual Studio 2017。如果有旧版的 Visual Studio 且条件允许,最好先行卸载。特别是 Visual Studio 2012,可能会出现兼容性问题。
  • Python
    在安装 Visual Studio 2017 时,会安装 Python 3.6 版本。如果系统已经有 Python 3.6 将不会再安装它。如果是这种情况,在本文中配置路径时,应配置成当前 Python 3.6 的路径。
  • AI 框架
    本安装过程会安装 TensorFlow,CNTK,pytorch,Keras,Caffe2,Theano,MXNe,Chainer 等流行的 AI 框架。如果你的 Python 环境已经有了一些框架并正在使用中,建议最好选择干净的 Python 环境来安装。以免产生版本冲突,或影响正在使用已安装框架的代码。

检查并安装 Git

Git 是流行的源代码版本管理工具,应用非常广泛。在接下来的安装过程中,会通过它下载一些 AI 组件。

先打开命令行或终端窗口,输入 git,看是否能找到此命令。如果命令行返回了 Git 命令的用法说明,则表示已经安装了 Git,可跳过 Git 安装部分。

如果没有安装 Git,打开安装页面,自动下载 Git 安装包。下载完后,点击安装。为了方便使用,在安装向导中需选择在命令提示符中使用 Git(见下图)。其它步骤直接点击 Next

enter image description here

检查并安装 NVIDIA 显卡机器学习包

在机器学习中,有的算法在并行计算下速度会得到很大的提升。而 GPU 由于要进行快速的图形处理,且这类计算可并行程度很高,所以 GPU 有很强的并行计算能力。在运行一些机器学习算法时,同等价位的 GPU 的速度会比 CPU 快上数十倍、甚至百倍。

NVIDIA 的显卡是机器学习领域中最流行的硬件之一,几乎所有框架都集成了对它的支持。安装过程也包括了 NVIDIA 显卡的配置。如果没有 NVIDIA 的显卡,则可跳过这步,直接安装或配置 Visual Studio 2017

确认自己的显卡是 NVIDIA 的,并支持 CUDA

CUDA(Compute Unified Device Architecture)是 NVIDIA 公司推出的通用并行计算架构,能将显卡用于解决各种复杂的计算问题。通过显卡的成百甚至上千个并行核心来加速计算。

访问 NVIDIA 的桌面笔记本显卡列表,并找到自己的显卡型号,点开详情页面。如果在左边能看到下图的高亮部分,则表示支持 CUDA(部分高端显卡会进入购买页面,这也表示支持 CUDA),否则开始安装或配置 Visual Studio 2017

enter image description here

如果不太清楚如何检查 GPU 型号或找不到自己的显卡,可先跳过下面 CUDA 与 cuDNN 的安装过程,在接下来安装AI框架时能够自动检测 GPU 是否受支持,是否安装了 CUDA,cuDNN。

如果发现显卡是支持的,但没有安装 CUDA 与 cuDNN,可以在安装结束后再进行这一步。

安装 NVIDIA 机器学习相关组件

如果确认了是支持 CUDA 的 NVIDIA 显卡,根据下面的步骤来完成配置。

1.确认安装了最新的显卡驱动。

2.安装 CUDA 9.0。

为了减少 TensorFlow 等机器学习框架的兼容性问题,这里选择了安装兼容性最佳的 CUDA 9.0。

首先,进入 CUDA 9.0 下载页面

然后,选择对应的操作系统、CPU 架构、操作系统版本来确认安装包。安装包本身也比较大,如果网速稳定,可以选择网络(network)版本来按需安装。如果网速不稳定,或者要在多台机器上安装,可选择本地安装(local)版本一次性完成下载。

选择好后,直接点击打开或另存到本地再运行。

注意:如果安装过程中出现了以下错误,可能是由于显卡较新,而 CUDA 9.0 中不包含对应的驱动。这时候可以重新开始安装过程,选择自定义安装,并取消勾选显卡驱动(Driver Components)再试一次。

enter image description here

3.配置 cuDNN

cuDNN(CUDA Deep Neural Network)是 NVIDIA 基于 CUDA 的专为深度神经网络优化的计算库。cuDNN 的下载安装过程比较复杂,需要在 NVIDIA 网站进行注册后才可下载。

首先进入 cuDNN 下载页面,点击展开 Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0。然后根据对应的操作系统选择对应的版本,随后会进入下面的登录界面。

enter image description here

注册或者登录后,就能看到下载链接,或者重新点击下载页面再来一遍。

2018年8月13日,周二晚上8点30分。微软亚洲研究院 AI 邹欣团队带来了主题为《AI 入门,从零搭建完整 AI 开发环境,并写出第一个 AI 应用》的交流。以下是主持人飘静整理的问答实录,记录了作者和读者问答的精彩时刻。


内容提要:

  • 不使用 Visual Studio AI 的情况下,有什么 AI 替代工具?
  • 想从游戏行业转行做 AI,怎么上手比较容易?
  • 对于 AI 方向的学习,能不能提供一个大致的学习方向?
  • 可以介绍一下入职 AI 开发岗位需要达到的水平层次吗,学完 AzureSchool 上面的 AI 课程可以吗?
  • 我在运行 python installer/install.py时出现了这样的错误,请问应该怎么解决?
  • 请问我们的目标是搭建怎样的 AI,图像相关还是语言处理?
  • 请问学习 Al 需要什么数学基础?
  • 有什么比较好的书籍?
  • AI 和普通的程序有什么定义上的区别吗?文中提到的数字识别算法可以介绍一下原理吗? AI 的是怎么通过训练实现自主学习的?
  • 在 GitHub怎么学习别人的项目代码,一般一个深度学习项目中包括那几个部分的文件,能否具体说明下?
  • 可以用一个简易的案例,来说明一下 AI 使用的比较全面程序过程吗?
  • 想问问 AI 就业的问题:具体来说有哪些岗位目前需求比较大?想了解一下各自的特点,单说 AI 太空泛了,有什么样的要求?
  • 终极目标是想拿 MS 的算法 Offer,如何知道自己要达到什么样的程度才能出去面试拿 Offer,接下来如何规划比较好?
  • 请问在理论推导和项目实践之间对于一个初学者以及研究生来说该如何权衡,以及该把理论和实践分别进行到什么程度才算 OK?
  • 终极目标是想拿 MS 的算法 Offer,如何知道自己要达到什么样的程度才能出去面试拿 Offer,接下来如何规划比较好?
  • 怎样将 TF 训练的 Model 转换成转换成转换成 ml.net 认可的格认可的格认可的格式?
  • AI 数据科学家目前待遇怎么样,将来待遇会有什么变化吗?
  • 从零基础开始学,大概要多久才能入手 AI?
  • VS Code 的 AI 开发环境怎样搭建?
  • 现在学界有没有其它途径去更好的去解决 Representation。然后使得机器学习像人的学一样,更加灵活的抓住事物的本质,从而完成模型建立?
  • Replika 这个聊天机器是不是摘下来人工智能皇冠上的明珠?想知道目前 AI 的应用规模,比如这种聊天机器人需要什么规模的架构才能这么智能的响应合适的对话?
  • 请问在三线城市,从事 AI 行业的切入点有什么好建议吗?
  • 关于分布式 Tensorflow 的搭建经验可以传授下吗?**
  • 准备学习人工智能的研究生,请问怎样规划三年的学习,需要那种精神才能学好这个行业?**
  • MS 对机器学习或者深度学习岗的实习生或者应届生的要求可否具体说?
  • 用 VS 开发 AI 应用,你发的那个链接是 Windows 下 VS 平台开发 AI 应用吗?
  • 算法大概有哪些种类?与 ACM 中的算法有多少联系?
  • 有没有一些练手的小项目,或者学习平台推荐?能够上手实现了交流是否正确或者有没有优化方法的?
  • 今天在各大新闻头条看到诺贝尔奖得主,说以后治愈疾病会更廉价,假如终极疾病是死亡,现在发展的 AI,结合哪些方面可以治愈死亡?
  • 安装 AI 框架 git clone 的时候出错 error: RPC failed; curl 18 transfer closed with outstanding read data remaining,怎么办?
  • 现在人工智能的门槛是怎么样的?大专学历对以后的发展有限制吗?
  • 因为现在的机器学习算法,尤其是无监督学习更像是黑箱。那么我们学习算法的时候应该学到什么程度,需要了解内部的具体运算吗?还是说可以做到算法实现,或者调库就可以了?
  • 请问微软亚洲研究院的实习生岗位,机器学习、计算机视觉方面实习有什么要求吗?
  • 你觉得现在对于机器视觉方向,传统的方法(数字图像处理、传统的图像配准、识别、分割)还有必要花大量时间学习吗?
  • MSRA 现在开始进行有针对 Hardware 体系结构方面的研究了吗?是否有实习的机会?
收藏 收藏
分享
购买文章 ¥1.99