AI应用开发实战

出发点

目前,人工智能在语音、文字、图像的识别与解析领域带来了跨越式的发展,各种框架、算法如雨后春笋一般,互联网上随处可见与机器学习有关的学习资源,各大mooc平台、博客、公开课都推出了自己的学习资料。

在当前学习资料十分丰富的这个环境下,本教程从上手的角度,让大家能够真正动手开始进行AI的开发,提高大家的开发生产力水平,而不是简单地学习人工智能的底层算法和理论却迟迟不动手。

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

联系我们
OpenmindChina@microsoft.com

适用人群

本手册适用以下所有人群,各位乘客请对号入座:

人群 描述 一句话侧写
没有AI开发经验的小白 是否在AI技术的边缘不断徘徊,担心入门门槛太高,自己会被淹没在AI中,看着周围的人都上了AI这班车,担心自己不能抓住这个浪潮? “在AI技术的边缘试探”
想要构建AI应用却苦于没有好的模型和算法的老板、开发人员 看到行业内已经开发出了五花八门的AI应用,从聊天机器人到智能家居,自己却还没有可用的工具和模型? “睡一觉,醒来就有可以用的模型和接口了!”
有过AI开发经验,训练过模型,调过参的初阶开发者 在开发过程中花了大把时间和精力配置开发环境、训练模型、调参数? “我可能配了假环境,训练了假模型,调了假参数”
手拥大把计算资源的高阶开发者,实验室主管、公司技术负责人 需要一个方便使用的工具来对这些计算资源进行集中管理? “手握显卡山,根本烧不完”

手册内容

以下是本手册的概览:

本手册以开发者熟悉的IDE: Visual Studio 或者 Visual Studio Code及其上的Tools for AI插件为基础,覆盖了使用Visual Studio进行AI开发的四大场景。

  • 使用机器学习框架训练模型,使用模型搭建应用
  • 使用Cognitive Service搭建AI应用程序
  • 使用Custom Vision搭建AI应用程序
  • 使用Open Platform for AI - PAI 进行计算资源的统一调度与管理

不管你是小白还是技术大佬,本手册都能助你杀怪升级。

手册目录:

编号 链接 简介
1 概述 介绍本系列教程的内容、可能使用到的工具以及你的收获
2 VS 2017 + Win 环境搭建与模型训练 在Windows下进行环境的搭建,训练自己的第一个模型
3 VS code + mac 在iOS下搭建开发环境,训练自己的第一个模型
4 使用训练好的模型构建应用 使用上一步训练好的模型,开发一个简单的桌面程序
5 Custom Vision服务 使用Custom Vision,根据自己的需求训练模型
6 使用Cognitive Service构建应用 使用Cognitive Service提供的接口,进行AI应用的开发
7 OpenPAI微软开源GPU集群管理利器(视频) 介绍OpenPAI的使用场景与功能
8 OpenPAI的快速部署安装 -
9 深入介绍工具的应用 以2、3、4完成简单应用为基础,深入介绍机器学习模型应该怎么应用到程序中
10 常见问题 -

下列视频请与手册配套使用,效果更佳:

【教程】Mac下一小时搭好机器学习开发环境

【教程】Windows下一小时搭好机器学习开发环境

学成收获

当你对本手册进行了完整的学习之后,你将在下列几个方面获得可观的收获,同时你的AI开发生产力将大大提高:

  • 学会使用在Visual Studio下训练模型,使用模型搭建应用
  • 学会使用Cognitive Service搭建AI应用程序
  • 学会使用Custom Vision搭建AI应用程序
  • 学会搭建PAI,并PAI进行计算资源的统一调度与管理

工具介绍

Visual Studio:

VS是一个功能完备的集成开发环境,对开发、测试、debug等使用场景提供了强大的支持,你除了可以使用vs进行windows应用的开发,同时还可以开发安卓、iOS的移动应用;你甚至能在VS上进行web应用的开发,只有你想不到,没有VS办不到
同时VS也提供了一系列教程,给新手进行快速入门

Visual Studio Code:

VS code是一款功能强大的文本编辑器、内置git、提供了大量的插件能够让你进行种类的开发

Tools For AI

本插件的目标是为了提高用户进行AI开发的生产力,为了达到这一目标,本插件提供了如下的功能:

  • 开发、调试和部署机器学习和 AI 解决方案

    • 支持包括 Microsoft Cognitive Toolkit (CNTK)、Google TensorFlow、Theano、Keras、Caffe2 等机器学习框架
    • 其开放式的体系结构还支持使用其他机器学习框架
    • 不仅支持Python, C/C++/C#,还为Cognitive Toolkit BrainScript提供了额外支持。
  • 示例库快速入门
    • 集成了Azure Machine Learning,使学习者能够轻松浏览和参阅搭建在CNTK, TensorFlow, MMLSpark等各种框架上的样例库。使入门机器学习和AI项目更加简单快捷。
  • 使用Azure进行机器学习训练,操作AI模型
    • 集成了 Azure Batch AI 和 Azure 机器学习服务,可将机器学习作业提交到 Azure GPU VM、Spark 群集等。
    • 可以监视最近试验的性能,然后生成 Web 服务,以便为新的智能应用程序提供支持。
  • 高效AI开发工具
    • 最可靠的集成工具集,用于创建、调试和部署其自定义机器学习模型。 借助 Visual Studio 的强大功能,你可以使用刚经过训练的模型无缝构建应用,而无需切换 IDE。
  • 集成了开放工具进行可视化模型处理

AI应用开发实战的更多相关文章

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

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

  2. AI应用开发实战 - 定制化视觉服务的使用

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

  3. AI应用开发实战 - 手写识别应用入门

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

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

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

  5. AI应用开发实战(转)

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

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

    扩展手写数字识别应用 识别并计算简单手写数学表达式 主要知识点 了解MNIST数据集 了解如何扩展数据集 实现手写算式计算器 简介 本文将介绍一例支持识别手写数学表达式并对其进行计算的人工智能应用的开 ...

  7. chrome拓展开发实战:页面脚本的拦截注入

    原文请访问个人博客:chrome拓展开发实战:页面脚本的拦截注入 目前公司产品的无线站点已经实现了业务平台组件化,所有业务组件的转场都是通过路由来完成,而各个模块是通过requirejs进行统一管理, ...

  8. 《Android NFC 开发实战详解 》简介+源码+样章+勘误ING

    <Android NFC 开发实战详解>简介+源码+样章+勘误ING SkySeraph Mar. 14th  2014 Email:skyseraph00@163.com 更多精彩请直接 ...

  9. CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图

    技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点 ...

随机推荐

  1. Oracle XDB组件重建说明

    Oracle XDB 组件重建 说明一. XDB 组件说明1.1 官网说明:XDB 全称XML DB,官网的说明如下:http://docs.oracle.com/cd/E11882_01/appde ...

  2. git自动部署到服务器

    1.现在服务器配置空仓库 mkdir -p test/project.git chmod 777 test cd test/project.git/ git init --bare . cd .. c ...

  3. js 检测输入内容是否为空(小程序,网站)

    一.输入内容只要有空格就会返回true if(/\s*/.test(data)){ return true }else{ return false } 二.先替换掉空格,更利于赋值或者判断 1.需要判 ...

  4. APP测试点注意事项汇总

    1.异常测试:包括业务流程的异常情况:业务场景的异常:操作习惯的异常(比如答题过程中会出现声音干扰这样很不友好喔~) 2.网络测试:网络切换的过程中,APP会不会异常:断网情况进行一些操作,APP会不 ...

  5. Android6.0以上系统动态获取权限

    动态权限的申请方法: 1.首先,需要在AndroidManifest.xml静态申请权限,否则无法动态申请权限: <uses-permission android:name="andr ...

  6. 几道比较有意思的js面试题

    1.[] ? !![] : ![];输出结果是什么? 1 2 3 4 5 let val = [] ? !![] : ![]; console.log(val);  //true: //之前的错误解释 ...

  7. js常用代码

    获取URL ?后的查询参数 function query(name) { var reg = new RegExp("(^|&)" + name + "=([^& ...

  8. poj 2253 floyd最短路

    题目链接 : http://poj.org/problem?id=2253: 思路:这个题主要是理解了意思就行,题目意思是有两只青蛙和若干块石头,现在已知这些东西的坐标,两只青蛙A坐标和青蛙B坐标是第 ...

  9. vue基础4-数据绑定

    1.v-bind 只能实现数据额单向绑定,从M到V,无法实现数据的双向绑定 改变页面输入框的值,打印数据并未改变. 2.v-model 可以实现数据的双向绑定,从M到V.V到M.  注意:v-mode ...

  10. npm 模块的总结

      ,, , ,,,,执行工程中自身生命周期 当前 npm 工程如果定义了钩子此时会被执行(按照 install.postinstall.prepublish.prepare 的顺序). 最后一步是生 ...