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

时间:2022-09-29 22:10:38

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

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

插件安装

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

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

首先安装好Python插件

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

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

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

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

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

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

安装Git

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

下载Mac适用的版本

下载机器学习示例库

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

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

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

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

安装python

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

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

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

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

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

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

python ./install.py

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

等待它安装完成。

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

三、运行示例代码

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

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

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

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

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

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

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

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

本地调试及训练

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

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

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

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

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

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

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

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

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

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

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

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

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

选择Local

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

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

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

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

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

远程训练

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AI应用开发实战 - 从零开始搭建macOS开发环境的更多相关文章

  1. AI应用开发实战 - 从零开始配置环境

    AI应用开发实战 - 从零开始配置环境 与本篇配套的视频教程请访问:https://www.bilibili.com/video/av24421492/ 建议和反馈,请发送到 https://gith ...

  2. Kubernetes实战 - 从零开始搭建微服务 - 1.5 提高可用性-发布多节点的Node/Express网络应用程序

    1.5 提高可用性-发布多节点的Node/Express网络应用程序 Kubernetes实战 - 从零开始搭建微服务 前言 在上一篇文章中,已经学习了如何简单地开发一个单层网络应用.[Kuberne ...

  3. Kubernetes实战 - 从零开始搭建微服务 1 - 使用kind构建一个单层架构Node/Express网络应用程序

    使用kind构建一个单层架构Node/Express网络应用程序 Kubernetes实战-从零开始搭建微服务 1 前言 准备写一个Kubernetes实战系列教程,毕竟cnblogs作为国内最早的技 ...

  4. 【并行计算-CUDA开发】从零开始学习OpenCL开发(一)架构

    多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零开始做OpenCL开发>系列文章的 ...

  5. android 串口开发第一篇&colon;搭建ndk开发环境以及第一个jni调用程序

    一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...

  6. 大数据开发实战:Hadoop数据仓库开发实战

    1.Hadoop数据仓库架构设计 如上图. ODS(Operation Data Store)层:ODS层通常也被称为准备区(Staging area),它们是后续数据仓库层(即基于Kimball维度 ...

  7. 从零开始搭建vue开发环境及构建vue项目

    1.安装node.js 安装完成之后,打开dos(windows+R或者直接windows键打开,输入cmd,按回车键)窗口,输入命令node -v可以查看安装的 node.js版本 node.js自 ...

  8. 从零开始搭建Java开发环境第一篇:Java工程师必备软件大合集

    1.JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 目前主流的JDK版 ...

  9. 从零开始搭建Java开发环境第三篇:最新版IDEA常用配置指南,打造你的最酷IDE

    刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,工欲善其事必先利其器. 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改t ...

随机推荐

  1. OA办公自动化系统源码

    最新extjs6富客户端,.net平台开发,sql server数据库,基础权限人员基础平台,可方便二次开发,使用EF为orm,autofac为ioc,Castle为基础的aop,实现常用OA系统功能 ...

  2. 【原】iOS学习38网络之数据解析

    1. 解析的基本的概念 解析:从事先规定好的格式中提取数据 解析前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JOSN解析 2. X ...

  3. UltraEdit 除去行首的行号和空格

    我们在复制代码的时候,经常会发生这种事情. 例如:如下文件(lpc17xx_libcfg.h) 00001 /********************************************* ...

  4. 20141110--SQL视图

    --------------------------视图--------------------- --视图是一个虚拟表,数据来自于原表,原表的数据改变,视图也会改变 select Student.S ...

  5. JQUERY、AJAX双击DIV&comma;直接修改DIV内的内容

    最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是自己动手写…… 最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值, ...

  6. asp&period;net2&period;0安全性&lpar;3&rpar;--验证与授权--转载来自车老师

    "验证"与"授权"是对网页资源安全管理的两道门. 验证(Authentication):检查用户是否是合法的用户.就像是网站大门口的保卫,服责验证使用的用户名和 ...

  7. http请求的概念

    我曾多次阅读http协议,但是理解依然不深,在此,再次阅读,再次理解.加深两点:解析头部信息\r\n,分解头部和主体用\r\n\r\n.之所以一次请求会看到网络里有很多请求,是因为浏览器代替访问了多次 ...

  8. 我使用 Docker 部署 Celery 遇到的问题

    问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...

  9. 我也不知道什么是&quot&semi;莫比乌斯反演&quot&semi;和&quot&semi;杜教筛&quot&semi;

    我也不知道什么是"莫比乌斯反演"和"杜教筛" Part0 最近一直在搞这些东西 做了将近超过20道题目吧 也算是有感而发 写点东西记录一下自己的感受 如果您真的 ...

  10. linux service 简单易懂贴

    service用于管理Linux操作系统中服务的命令 1.不是在所有linux发行版本中都有.主要是在redhat.fedora.mandriva和centos中. 2. 命令位于/sbin目录下,用 ...