全文大约:5600字
读完可能需要下面这首歌的时间
👇
随着 AI 越来越深入的发展,智能革命的浪潮隐约到来,悄然的影响着软件行业。
那么,作为多年的程序员,或者准备着成为新一代程序员的读者们,该如何为智能时代做好准备,成为 AI 时代的程序员呢?
网上铺天盖地的教程,大部分都是从高数、线代、概率讲起的算法基础,或者是讨论某某网络的算法,比较模型的效果,偏研究和数据科学。
多学一些知识,当然是很好的,但毕竟需要不少的时间,在软件开发中积累的经验好像也用不上太多。
如果程序员们从自己擅长的领域出发,逐步融入 AI 热潮中,岂不是取长补短,事半功倍?从另一方面来看,以后是不是只需要开发 AI 模型就够了呢?显然不是,AI 模型会带来智能革命,但传统的软件开发仍然是基础。
就像工业革命发生后,人类仍然需要农业提供足够的粮食;信息革命发生后,也需要工业革命所带来的巨大工业生产力。
因此,智能革命也会基于信息革命所构建的巨大的软件制造经验和能力之上。
本文帮你入门 AI 应用开发,写出第一个 AI 程序 -- 手写识别(见下图)。同时会穿插着讲一些必备的 AI 知识和背景,带你走入 AI 新世界的大门。
找个网络环境较好的地方,计划好空闲的时间,放松心情,一步步学习下来,保准你收获满满。
注意:安装过程中要下载的软件较多,建议在网速稳定且较快的环境下进行。整个时长取决于预先安装的情况,以及网络状况。通常一个多小时即可完成环境搭建和 AI 应用。
1. 配置 AI 开发环境
1. 安装要求
-
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 环境来安装。以免产生版本冲突,或影响正在使用已安装框架的代码。
2. 检查并安装 Git
Git 是流行的源代码版本管理工具,应用非常广泛。在接下来的安装过程中,会通过它下载一些 AI 组件。
先打开命令行或终端窗口,输入
git
,看是否能找到此命令。如果命令行返回了 Git 命令的用法说明,则表示已经安装了 Git,可跳过 Git 安装部分。
如果没有安装 Git,打开
安装页面
,自动下载 Git 安装包。下载完后,点击安装。为了方便使用,在安装向导中需选择在命令提示符中使用 Git(见下图)。其它步骤直接点击
Next
。
3. 检查是否安装 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
。
如果不太清楚如何检查 GPU 型号或找不到自己的显卡,可先跳过下面 CUDA 与 cuDNN 的安装过程,在接下来安装AI框架时能够自动检测 GPU 是否受支持,是否安装了 CUDA,cuDNN。
如果发现显卡是支持的,但没有安装 CUDA 与 cuDNN,可以在安装结束后再进行这一步。
4. 安装 NVIDIA 机器学习相关组件
如果确认了是支持 CUDA 的 NVIDIA 显卡,根据下面的步骤来完成配置。
1. 确认安装了最新的显卡驱动
如已安装,接下来我们安装 CUDA
2. 安装 CUDA 9.0
为了减少 TensorFlow 等机器学习框架的兼容性问题,这里选择了安装兼容性最佳的 CUDA 9.0。
首先,进入
CUDA 9.0 下载页面
。
然后,选择对应的操作系统、CPU 架构、操作系统版本来确认安装包。安装包本身也比较大,如果网速稳定,可以选择网络(network)版本来按需安装。如果网速不稳定,或者要在多台机器上安装,可选择本地安装(local)版本一次性完成下载。
选择好后,直接点击打开或另存到本地再运行。
注意:如果安装过程中出现了以下错误,可能是由于显卡较新,而 CUDA 9.0 中不包含对应的驱动。这时候可以重新开始安装过程,选择
自定义安装
,并取消勾选显卡驱动(
Driver Components
)再试一次。
3.配置 cuDNN
cuDNN(CUDA Deep Neural Network)是 NVIDIA 基于 CUDA 的专为深度神经网络优化的计算库。cuDNN 的下载安装过程比较复杂,需要在 NVIDIA 网站进行注册后才可下载。
首先进入
cuDNN 下载页面
,点击展开
Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0
。然后根据对应的操作系统选择对应的版本,随后会进入下面的登录界面。
注册或者登录后,就能看到下载链接,或者重新点击下载页面再来一遍。
解压开会有一个 dll 扩展名的动态链接库文件,将其拷贝到 CUDA 安装目录的 bin 目录中即可。CUDA 的默认安装路径路径如下:
安装或配置 Visual Studio 2017
注意:如果有 Visual Studio 的其它版本,尽可能卸载后,再安装 Visual Studio 2017。特别是 Visual Studio 2012 或者更低版本,否则在使用时有可能发生版本冲突相关的问题。
如果已经安装了 Visual Studio 2017,只需要从开始菜单中搜索并打开 Visual Studio Installer。选择
更多
中的
修改
来确认是否安装了
Python开发
与
.NET 桌面开发
这两个
工作负载
。如果没有,则选上并安装。
1.进入
下载页面
,指向
下载 Visual Studio
,并点击
Community 2017
。
Visual Studio Community 版是完全免费的,包含有 Visual Studio 的大部分基础功能,也能全面的支持 AI 应用开发。只需要用微软账户登录后,就可以一直使用。
2.运行安装程序后,会打开
工作负载
的选择界面。至少要选择
Python 开发
与
.NET 桌面开发
。
Visual Studio 将多种场景下的开发都按照工作负载的方式进行了组合,只需要勾选上,就能顺畅的进行对应场景下的开发了。安装完成后,可以通过开始菜单中的
Visual Studio Installer
再次打开这个界面,安装其它工作负载。
随后点击右下方的
安装
按钮,即可开始安装。根据选择的内容多少以及网络情况,安装时长也会很不一样。此处需耐心等待。
安装 Visual Studio Tools for AI
Visual Studio Tools for AI 是 AI 集成开发环境中较核心的部分,包含了训练任务管理、模型推理等功能。
1.启动 Visual Studio,在菜单栏中选择
工具
->
扩展和更新
。
2.点击
联机
,并在右上方输入
tools for ai
后回车。如果第一次没有搜索出来,可再增加一个空格,并再次回车搜索。搜索结果出来后,点击
Microsoft Visual Studio Tools for AI
的下载按钮。
3.下载完成后,关闭所有 Visual Studio 窗口,来触发插件的安装过程。关闭 Visual Studio 后,稍等数秒钟,即会出现安装界面,点击
修改
。等待整个安装过程结束,然后点击
关闭
。
4.再次打开 Visual Studio,在菜单栏会看到
AI 工具
,表示安装完成。
安装 AI 框架
在机器学习中,特别是深度学习中,经常会因为各种原因,需要在不同的 AI 框架之间切换。而不同的框架可能还依赖于不同的底层库版本。因此,搭建一个顺手的 AI 开发环境,颇会花些时间和精力。
本文通过微软 AI 示例库中的一键安装脚本,简化了 AI 框架的安装过程。
一次性就能装上 TensorFlow,CNTK,pytorch,Keras,Caffe2,Theano,MXNet,Chainer 等流行框架,以及 jupyter,matplotlib, pandas,scipy,onnx,tf2onnx,scikit - learn,xgboost,libsvm 等流行工具。这个 1000 多行的安装脚本会节省大量的安装配置时间,也让新手不再被卡在安装配置环境这一步上。
下载微软 AI 样例库
打开命令提示符或终端窗口,选择并进入某个用来存放代码的目录,如
%USERPROFILE%
。运行下列命令,来下载微软 AI 示例库,完成后进入该目录。
注意:请确保整个路径中没有中文。不少机器学习框架对多语言支持并不好,为了防止因此出现的问题,保证整个路径没有中文等扩展字符集。
注意:推荐用管理员权限打开命令提示符窗口。以免 Python 安装目录需要管理员权限才能写入文件。步骤:打开
开始
菜单 -> 用键盘输入
cmd
-> 右击出现的
命令提示符
-> 选择
以管理员身份运行
-> 通过
cd
命令选择一个合适的目录,如
cd /d %USERPROFILE%
。
运行安装脚本
1.命令提示符下可能没有配置 Python 的路径。运行
python --version
检查一下。
如出现上图的内容,表示系统路径中没有 Python ,则根据系统中 Visual Studio 的安装路径,用下列命令来设置 Python 路径。
注意:如果修改过 Visual Studio 的默认安装路径,则此命令也需要做相应的修改。
2.执行 install.py
3.检查并配置 CUDA、cuDNN
如果前面的步骤中,因为不确定显卡是否支持 CUDA 等原因,而跳过了 CUDA 安装部分。这里可以看一下输出。如果在输出的前面几行里发现了以下字样,则表示支持 CUDA,且没有正确安装好 CUDA 或(和)cuDNN。等待安装脚本运行完后,参考
前文
完成 CUDA 和 cuDNN 的安装。
安装结束后,如果有任何红色的错误文字,请参考
常见问答:运行 install.py 时出现红色错误文字时,该如何处理?
。
命令行窗口完成后回车一下,但不要关闭,接着开始训练第一个模型。
训练第一个模型
下载的 samples-for-ai 中包含了大量的机器学习训练和应用的示例。使用 TensorFlow 的 MNIST 示例来测试一下环境安装是否成功,也为下一步准备好 AI 模型。
运行过程中会打印出一些 error 字样。别担心,这都是 AI 训练过程中正常的错误率信息。随着训练过程的进行,模型在训练时的错误率会逐步下降,这表示 AI 模型推理预测出的结果越来越准确了。
2. 创建第一个 AI 应用
克隆代码,并导入训练好的模型,就可以试试自己的第一个 AI 应用了!当然,不仅要知其然,也知其所以然,接下来还会分析一下核心的代码。
把程序跑通
克隆代码
使用下面的命令来克隆 AI 应用的代码。代码里有一个应用的窗体项目,预先写好了所有的代码。同上,要选择好放置代码的路径,如:
cd /d %USERPROFILE%
注意:放置克隆代码的路径中不能含有中文。
运行完上面的脚本后,就会在 Visual Studio 2017 中打开这个解决方案。
引用模型
1.首先创建模型项目。在
解决方案资源管理器
中,右击
解决方案
,指向
添加
,再点击
新建项目
。
注意,一定要在解决方案上右击,否则不会出现
新建项目
的菜单。
2.在弹出的添加新项目的对话框里,选择
AI Tools
下的
Inference
后,在右边选择
模型推理类库(.NET Framework)
。
然后在下面的
名称
处改为
Model
,并点击确定。