AI应用开发实战

AI应用开发实战 - 从零开始搭建macOS开发环境

本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/

建议和反馈,请发送到 https://github.com/Microsoft/vs-tools-for-ai/issues

联系我们 OpenmindChina@microsoft.com

零、前提条件

  • 一台能联网的电脑,使用macOS操作系统
  • 请确保鼠标、键盘、显示器都是好的

一、工具介绍

Viusal Studio code

Visual Studio Code 是微软继Visual Studio 宇宙第一IDE后出品的又一利器,是一款完全免费的文本编辑器。

Visual Studio Code 支持Windows、Linux和Mac三大操作系统,有着一流的响应速度,不论是本身的启动,还是加载目录、打开浏览大文件的速度,都十分迅速;这款文本编辑器的可扩展能力也十分强大,在其活跃生态的支持下,提供了大量的插件供开发者自行配置,比如对各种小众语言的支持、数据访问、键盘布局等等;另外,它在配置上非常灵活,但大多是基于json的文本配置,使用起来不向图形界面那样简单易懂,但是熟悉后还是很方便的。

Tools for AI

Visual Studio Code 上的Tools for AI 是微软官方出品的一站式机器学习集成开发环境,其与VS code相结合,能让开发人员在同一个开发环境里,完成从编辑、训练、集成模型,到服务与应用的代码开发。

Tools for AI 对训练任务的调度和管理做了很好的集成。现在、后端的计算平台支持本机、Linux服务器、微软的企业级计算资源管理平台、Azure的机器学习平台、Batch AI等。 另外还能够管理各种远程的存储,直接在界面中上传数据、下载模型日志等文件。

二、搭建开发环境

Visual Studio Code 安装

访问 https://code.visualstudio.com

点击Download自动下载对应操作系统的Visual Studio Code

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161330587-97110370.png" width="300" />

插件安装

首先打开VS Code,点击扩展图标

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161343954-1803296729.png" width="300" />

首先安装好Python插件

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161415507-577953427.png" width="300" />

有插件自动更新或安装后,就会提示重新加载,点击重新加载后,VS Code就会重新启动,并且加载相应的插件。

然后搜索Tools for AI,选择第一个安装。

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161429613-1185756054.png" width="600" />

这里同样也要点击重新加载。

同样,我们可以把中文包也安装上,这样就能显示中文了。

安装Git

访问 https://git-scm.com/downloads

下载Mac适用的版本

下载机器学习示例库

打开终端,找到一个自己想用来存放这些文件的文件夹,在终端中输入

git clone https://github.com/Microsoft/samples-for-ai/

这时Git开始自动克隆示例库

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161450388-1526385065.png" width="400" />

安装python

这一步大家安装python3.5或3.6皆可,但更推荐大家安装python3.6,同时请一定选择64位的版本,否则很多机器学习框架都无法使用。

访问 https://www.python.org/downloads/ 选择适用于macOS的64位安装包

note:在python安装完成后,请在Application中找到python的安装文件,运行Certificates install.commands,安装常见的根证书,否则python脚本访问任何https网站时都会出现证书错误,这也会影响我们接下来的安装过程

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161500720-1182887273.png" width="400" />

安装机器学习和机器学习的软件及依赖

还是上一步的文件夹,进入installer目录,输入

python ./install.py
<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161515643-451756570.png" width="500" />

等待它安装完成。

至此,环境搭建已经全部结束。

三、运行示例代码

从这一步开始,我们要开始真正进行训练了,如果你是第一次接触机器学习,那么你就可以训练出自己的第一个模型了!

首先打开Visual Studio Code,选择文件->打开打开samples的总目录。

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161537386-1587023801.png" width="400" />

我们使用tensorflow和MNIST来作为例子。

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161550540-1188121656.png" width="300" />

MNIST是一个流行的示例数据集,是人手写的数字的图片集。我们可以用它来训练一个模型,让计算机识别出人手写的数字是什么。

note:如果你的电脑安装了多个版本的python,请点击VS Code窗口下方的Python环境,程序将列出本机找到的所有python环境,我们要将其切换到正确的环境上

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161606418-31069838.png" width="300" /> <img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161622608-439297005.png" width="500" />

本地调试及训练

首先,点击AI Explorer来新建或者修改本地环境配置。在Local - Environment下右键,点击Add Configuration

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161635805-2049775705.png" width="400" />

设置好name,并将上一步选择的python环境的路径填写进去

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161646534-300562904.png" width="500" />

点击右下角的Finish来刷新环境配置

note:一定要点击Finish才能正确地刷新配置

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161708878-1303647126.png" width="400" />

在配置好本地环境后,还需要添加一个运行作业的配置,这里选择查看->命令面板,输入AI: Edit Job Properties,然后回车。

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161723437-1566060655.png" width="400" />

note:如果你的电脑安装了多个版本的python,请修改startupCommand中的Python改为Python3,然后点击Finish,这样可以确保在执行作业的时候使用python3运行程序

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161735281-185304512.png" width="500" />

右键convolutional.py,选择AI: Submit Job

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161752440-2081421088.png" width="400" />

选择Local

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161816977-1298328217.png" width="300" />

选择刚才配置好的运行环境

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161834452-1571374845.png" width="300" />

可以看到屏幕下方有一个新的终端窗口,这时程序就已经开始对模型进行训练了

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161902731-438197424.png" width="400" />

远程训练

由于Mac没有配置Nvidia的显卡,因此只能使用CPU训练模型,如果本机的性能不行,有的时候可能需要花费很长时间,这个时候,如果远程的服务器,特别是有专门的计算资源加持的话,速度会快很多。另外,很多机器学习的框架支持并行计算,远程训练时还可以接入并行的资源,进一步提高训练效率。

Tools for AI支持多种远程训练的平台,包括Remote Machine、私有部署的PAI,以及Azure的Batch AI等,本系列博客以后会详细介绍如何使用这些资源。本篇博客主教讲解如何在远程Linux上进行训练。

首先在AI Explorer中,在Remote Linux上点击鼠标右键,点击Add Configuration,然后填入自己服务器的信息,最后点击Finish完成设置

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608161945750-1055707821.png" width="400" /> <img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608162017623-1604988318.png" width="500" />

然后,同样像上次一样选择AI: Submit Job,只是这次要选择刚才配置好的Remote Linux

在提交完作业后,如果想要查看运行情况,则需要在Remote Linux中选择之前配置好的机器,点击鼠标右键,选择List Jobs,这时可以看到这台机器上提交过的任务列表

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608162034421-2106225598.png" width="400" /> <img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608162046353-1078159055.png" width="500" />

点击我们刚刚提交的那个,就可以列出这个任务的所有细节

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608162058184-1191187262.png" width="500" />

同时可以通过点击页面上的Open Storage Explorer来查看该任务在远程机器下的目录。

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608162111829-1554240012.png" width="300" />

如果需要查看远程机器的其他目录,则在机器上右键,选择Open Storage Explorer,选择Custom Directory,然后输入你要访问的目录即可

<img src="https://images2018.cnblogs.com/blog/700062/201806/700062-20180608162132621-1935640235.png" width="500" />

至此,远程模型训练的部分就完场了。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )