AI应用开发实战 - 从零开始配置环境
与本篇配套的视频教程请访问:https://www.bilibili.com/video/av24421492/
零、前提条件
- 一台能联网的电脑,使用win10 64位操作系统
- 请确保鼠标、键盘、显示器都是好的
建议和反馈,请发送到
https://github.com/Microsoft/vs-tools-for-ai/issues
联系我们
OpenmindChina@microsoft.com
一、Windows下开发环境搭建
本教材主要参考了如下资源:
官方github教程:https://github.com/microsoft/vs-tools-for-ai
斗鱼tv教程:https://v.douyu.com/show/V6Aw87OBmXZvYGkg
本教程分为五步:
- 安装VS:难度一星
- 安装python:难度一星
- 安装CUDA和cuDNN:这是本教程最繁琐
的一步,这一步直接拉高本教程的平均难度。
- 配置机器学习环境:这是本教程最简单的一步,为了方便用户配置环境,微软提供了一键安装工具!没错,一键安装工具!业界良心阿!
- 安装VS Tools For AI插件:难度一星
note:本教程对各个软件需要使用的版本都做出了明确说明,请安装指定的版本
请放轻松,接下来的傻瓜教程不需要动脑子,你甚至可以打开手机边刷微博边配置环境
0.安装Git
访问 https://git-scm.com/download/win
选择64-bit Git for Windows Setup
下载
双击.exe开始安装
选择好自己的安装路径,一路next,直到Adjusting your PATH environment
请选择Use Git from the Windows Command Prompt
这一步就已经将Git添加到环境变量中了,然后就可以直接在命令行里使用Git啦。
然后继续next,直到安装结束
1.安装VS
访问 https://www.visualstudio.com/zh-hans/products/
在产品
中点击Visual Studio 2017
选择Community
版本下载
打开Visual Studio Installer进行如下的配置:
仅选择.NET桌面开发
与Python
开发即可
仅选择.NET桌面开发
与Python
开发即可
仅选择.NET桌面开发
与Python
开发即可
note:请自行决定Visual Studio的安装路径
等待数分钟,时长视网络状况而定,这个时候你可以去泡一杯茶,或者听一首歌,如果你的网络不是很好,那你可以去看集美剧或者别的什么,等待安装结束。
note:坐 和 放宽
2.安装python
访问 https://www.python.org/downloads/
选择版本3.5.4
或3.6.5
,Windows x86-64 executable installer
下载。
打开安装包,在安装前,请选择Add Python 3.X to PATH
,随后按照默认选项安装即可。
点选后,程序将自动将Python加入环境变量,这样避免在安装后手动配置环境变量。
安装结束后,请进行如下操作验证python是否安装成功
1.同时按下 win 与 R,在弹出的输入框里输入cmd
2.在弹出的窗口中输入 python
3.输入exit()退出
4.输入python -m pip install -U pip以更新pip到最新版本
- 1
- 2
- 3
- 4
note: pip是一个用来管理python包的工具
自此,你已经完成了python的安装,在朝着AI技术大牛的路上又前进了一步!
note:请伸出大拇指给自己一个赞?
3.安装CUDA与cuDNN
如果你的电脑装有Nvidia的显卡,请进行这一步配置,否则请跳过。
首先通过操作系统更新,升级显卡驱动到最新版。
3.1 安装CUDA
打开 https://developer.nvidia.com/cuda-toolkit-archive
选择CUDA 9.0 进行安装。
点击后,选择如下的配置:
note:请选择local版本下载,一旦失败还可以重新再来;如果使用network版本,一旦失败,需要重新下载1.4GB的安装包
打开安装包,进行安装,请自行配置CUDA的安装路径,并手动将CUDA库添加至PATH环境变量中。
note:在Windows中,CUDA的默认安装路径是:
“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin”
3.2 安装cuDNN
note:打起精神!这是操作最复杂的一步!
访问 https://developer.nvidia.com/rdp/cudnn-archive 找到我们需要的cuDNN版本:
cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0
cuDNN v7.0.5 Library for Windows 10
点击链接,等待着你的并不是文件下载,而是:
↑这就是本教程里最麻烦的一步:在下载cuDNN之前需要注册Nvidia会员并验证邮箱。不过还好可以微信登录,省掉一些步骤。
一番令人窒息的操作之后,我们终于得到了cuDNN,我们把文件解压,取出这个路径的cudnn64_7.dll
,复制到CUDA的bin目录下即可。默认的地址是:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
note:到这里,我们已经完成了本教程最复杂的一步了
4.安装机器学习的软件及依赖
这一步虽然是整个教程最简单的一步,甚至比把大象关进冰箱更简单。
你只需要:
win + R ,打开cmd,在命令行中输入:
cd c:\ //选择一个你喜欢的路径
md AI //在这里创建一个AI目录
cd AI //打开这个目录
//克隆仓库到本地
git clone https://github.com/Microsoft/samples-for-ai.git
cd samples-for-ai //打开这个目录
cd installer //还有这个目录
python.exe install.py //开始安装
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
然后刷会微博,等待安装结束即可。
成功之后是这样的:
或者你觉得自己不怕麻烦,那么请访问:https://github.com/Microsoft/vs-tools-for-ai/blob/master/docs/zh-hans/docs/prepare-localmachine.md
根据教程按步安装,相信我,你会回来选择一键安装的。
note:就差一步啦!成功就在眼前!
5.安装tools for ai插件
打开Visual Studio,选择工具->扩展和更新->选择“联机”->搜索“AI”
就像这样:
等待下载完成之后,关闭Visual Studio,没错,关闭Visual Studio,系统将自动安装AI插件。
安装完毕后再次打开Visual Studio,你将在界面上看到这样的内容:
那么恭喜你!安装成功!
note:千里之行始于足下,恭喜你成功地完成了环境的搭建,接下来就已经可以使用Visual Studio Tools For AI进行开发了?
二、离线模型的训练
6.14日更新
GitHub上的samples-for-ai
进行了一定的更新,目前MNIST文件夹下只有一个mnist.py
文件,
下述步骤中,请使用最新的mnist.py文件
在进行完环境搭建后,我们马上就可以开始训练第一个模型了,我们选择tensorflow下的MNIST作为第一个例子。
MNIST的介绍请参考这个链接 https://www.tensorflow.org/versions/r1.1/get_started/mnist/beginners
首先我们打开这个路径:C:\AI\samples-for-ai\examples\tensorflow
,如果你在别的目录下克隆了目录,那么请打开你对应的目录。然后双击TensorflowExamples.sln
就像这样:
note:如果存在多个Python环境,你需要为Visual Studio的AI项目设置默认的Python环境。
例如,手动安装的Python 3.5与Visual Studio 2017 Python开发负载自动安装了64位的Python 3.6
如果要为Visual Studio设置全局的默认Python环境,请打开工具
->Python
-> Python环境
。然后,选择自己需要的Python版本,点击将此作为新项目的默认环境
。
然后在解决方案资源管理器
中,选择MNIST
,单击右键,选择设为启动项目
然后选择MNIST
中的mnist.py
,单击右键,选择在不调试的情况下启动
然后程序就开始运行了,就像这样:
等待一段时间之后,模型就训练好了!这个时候打开MNIST所在的文件夹,MNIST下是否多了三个文件夹?分别是input
和output
还有export
,这三个文件夹分别存储了训练模型的输入文件、训练时的检查点文件,还有最终导出的模型文件
检查点文件:
模型文件:
可能存在的问题
GPU ran out of memory
方法一:
修改convolutional.py
第45行或第47行的BATCH_SIZE
或EVAL_BATCH_SIZE
为一个更小的数字。具体修改哪一个,需要视你在程序运行的哪个部分得到了ERROR决定。
方法二:
不使用GPU训练,在项目MNIST上单击右键,选择属性(R)
修改环境变量为CUDA_VISIBLE_DEVICES=" "