AI应用开发实战系列之一: 从零开始配置环境

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.43.6.5Windows 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到最新版本

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 //开始安装

然后刷会微博,等待安装结束即可。

成功之后是这样的:

或者你觉得自己不怕麻烦,那么请访问: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下是否多了三个文件夹?分别是inputoutput还有export,这三个文件夹分别存储了训练模型的输入文件、训练时的检查点文件,还有最终导出的模型文件

检查点文件:

模型文件:

可能存在的问题

GPU ran out of memory

方法一:
修改convolutional.py第45行或第47行的BATCH_SIZEEVAL_BATCH_SIZE为一个更小的数字。具体修改哪一个,需要视你在程序运行的哪个部分得到了ERROR决定。

方法二:
不使用GPU训练,在项目MNIST上单击右键,选择属性(R)

修改环境变量为CUDA_VISIBLE_DEVICES=" "

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

usb连接不上 艾德克斯电源_第十二届(深圳)新能源汽车核心电源技术研讨会成功举办...

2019年4月26日,由大比特主办的第十二届(深圳)新能源汽车核心电源技术研讨会在深圳登喜路国际大酒店成功举办。本次会议受到了法雷奥、长安铁雪龙、比亚迪、蔚来汽车、麦格米特、科陆电子、欣锐、英威腾、晶福源、英可瑞、瀚美特、航嘉驰源、核达中远通、永联、优优绿…

AI应用开发实战系列之二:从零开始搭建macOS开发环境

AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/ 零、前提条件 一台能联网的电脑,使用macOS操作系统请确保鼠标、键盘、显示器都是好的 建议和反馈,请发送到 https…

安卓能硬改的手机机型_手机后盖材质,金属比塑料的好,玻璃比金属的好,是这样么?...

从2000年至今,18年手机发生了巨大变化到现在,人们不再唯性能至上屏幕、拍照、材质、工艺等等也成了人们选购手机的标准手机后盖材质的发展史很好的见证了人们喜好的变化接下来我们来看手机后盖材质的演变史从手机的创造到手机的普及作为一个材料人我们经…

AI应用开发实战系列之三:手写识别应用入门

AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等。但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手。本文从简单的MNIST训练出来的模型开始,和…

重力加速度换算_中考物理重难点汇总——公式换算大全

初中物理中最重要的部分就是公式了,在这之中公式的换算可以说是一个难点,也是一个重点。力学部分一、速度公式火车过桥(洞)时通过的路程s=L桥+L车声音在空气中的传播速度为340m/s 光在空气中的传播速度为3108m/s二、密度公式(ρ水…

新手一小时就写出人工智能应用 - 看图识熊

来不及了,先上车: 人工智能开发案例 熊的分类 如何安装必要的工具并配置环境呢,请看这个详细的解说 今后会有更详细的文字版在这个专题出现。 如果有对这个教程有疑问,请在这里留言。

c++ 线性回归_模型之母:简单线性回归的代码实现

模型之母:简单线性回归的代码实现关于作者:饼干同学,某人工智能公司交付开发工程师/建模科学家。专注于AI工程化及场景落地,希望和大家分享成长中的专业知识与思考感悟。0x00 前言 在《模型之母:简单线性回归&最小…

AI应用开发实战系列之四 - 定制化视觉服务的使用

AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型。 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 https://github.com/Microsoft/vs-tools-for-…

现代软件工程 结对/团队作业 - 汉字的 2048 + 俄罗斯方块

一个很有趣的软件工程/编程作业,如果把汉字构成的规律运用在 2048 俄罗斯方块这样的游戏中,会有什么效果呢? (链接1, 链接2) 既然是软件工程的作业, 那就要体现出一些工程的特性: 作业要求: 1) 学生自行…

机器学习平台建设

本文从机器学习平台的架构开始,再到具体的功能,然后从需求的角度带给读者思考,找到合适的机器学习平台建设之路。最后,推荐了微软开源开放的机器学习平台OpenPAI,是可私有部署的机器学习训练平台。 本文不少要点都可以…

型管件的作用_管道工程基础 - 管件和管道附件的布置规定

概述1.1 管件的用途1.2 管件的种类根据管件的端部连接形式可将管件分为对焊连接管件、承插焊连接管件、螺纹连接管件、法兰连接管件以及其它管件。管件和管道附件的布置2.1管件的布置(1)弯头宜选用曲率半径等于1.5倍公称直径的长半径弯头;输送气固、液固两相流物料的…

java grpc 客户端处理 go 服务端多返回值_grpc基础实践(二)

在此篇中我们将简要介绍关于grpc对java客户端的实现。在开始开发前,我们需要先导入io.grpc grpc-netty 1.11.0io.grpc grpc-protobuf 1.11.0io.grpc grpc-stub 1.11.0如果是Android除了这几个包外,你可能还需要一个javax.annotation:javax.annotation-ap…

asp.net 文本框显示xml格式数据_Excel 办公小技巧,查找和替换数据,您值得拥有...

在数据处理的过程中,有时需要在工作表中查找一些数据,以便查看或修改数据。若工作表的数据能一目了然,则可手动进行查找,但在记录繁多的工作表中查找所需数据并替换,效率比较低,而且极易出现遗漏。这时就可…

微软认知服务应用秘籍 – 与机器人聊知识

在本篇博客中,我们将会学习到零代码情况下,如何利用已有的技术建立自己的知识问答系统,这种系统的可以广泛适用于学校、企业、客服、政府公开信息等领域,代替传统的电话咨询、电子邮件沟通等高人工负荷的方式。 建立知识库 什么…

.net 开发怎么实现前后端分离_ASP.NET Core模块化前后端分离快速开发框架介绍

源码地址GitHub:https://github.com/iamoldli/NetModular演示地址地址:http://118.24.75.170:6220/账户:admin密码:admin前端框架演示地址(临时)地址:http://progqx5cu.bkt.clouddn.com/skins/index.html#/账户&#x…

微软认知服务应用秘籍 – 支持跨平台客户端的视觉服务中间层

不断演进的应用场景 初级应用场景—宅在家里 场景:Bob同学有一天在网上看到了一张建筑物的图片,大发感慨:"好漂亮啊!这是哪里?我要去亲眼看看!"Bob同学不想问别人,可笑的自尊心让他…

就业技术书文件表格_429页标准指南,教你如何管理工程监理文件资料,丰富图表一看就会...

房屋建筑工程监理文件资料的管理,参差不齐,也给监理工作带来了很大障碍。这份房建工程监理文件资料管理标准指南,能够帮助广大监理和资料员们实现监理文件资料标准化管理,能够有效地补充和支撑现场监理工作,对于工程资…

微软认知服务应用秘籍 – 君子动口不动手

概述 科技的不断发展带动着人们生活质量不断的提升,其中一方面就体现在日常家庭生活中,智能设备层出不穷,给人们的生活带来了很大的便利。 以电视为例,几十年前的电视还是按钮式的,每次换台还要跑到电视跟前&#xf…

AI应用开发实战 - 手写算式计算器

扩展手写数字识别应用 识别并计算简单手写数学表达式 主要知识点 了解MNIST数据集了解如何扩展数据集实现手写算式计算器 简介 本文将介绍一例支持识别手写数学表达式并对其进行计算的人工智能应用的开发案例。本文的应用是基于前文“手写识别应用入门”中的基础应用进行扩…

sed 删除某一行_Linux常用命令三剑客之sed,您真的会用吗?

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言本文主要讲解Linux系统中的sed命令的作用与使用案例。sed用于查找、过滤、文本替换、替换和插入、删除等文本操作。它是Linux/Un…