VS Tools for AI全攻略

大家都知道微软在Connect();17大会上发布了VS Tools for AI,旨在提升Visual Studio和VSCode对日益增长的深度学习需求的体验。看了一圈,网上似乎没有一个完整的中文教程来教你怎么完整配置深度学习方案。

与此同时我也接了一个活,是俱乐部与MSRA的项目,项目的目的之一是向VS Tools for AI的samples库里增加新的算法,所以这篇技术文章就应运而生了。

本文将分为以下几个部分来进行阐述:

1,什么是VS Tools for AI

2,怎么在本地配置好VS Tools for AI的前端

3,怎么配置Azure云上的后端环境

4,怎么连接前后端,以及怎么运行TensorFlow实例

========================================================

1,什么是VS Tools for AI?

VS Tools for AI(下称AI组件)的官网地址:https://www.visualstudio.com/downloads/ai-tools-vs/

GitHub地址:https://github.com/Microsoft/vs-tools-for-ai

简而言之,AI组件的用处,是让你快速构建、训练一个深度学习Project。

AI组件的主要功能有:

-开发,调试和部署深度学习和人工智能解决方案:AI组件是支持CNTK,Google TensorFlow,Theano,Keras,Caffe2等深度学习框架的扩展。 您可以通过开放式架构使用其他深度学习框架。 AI组件利用对Python,C / C ++ / C#的现有代码支持,并为Cognitive Toolkit BrainScript提供额外的支持。

-使用“样本库”(就是上文提到的样例)快速构建代码:AI组件与Azure机器学习集成在一起,可以轻松浏览使用CNTK,TensorFlow,MMLSpark等的样本实验库。 这使得开始深入学习AI项目很容易。

-在Azure中扩展深度学习训练并运行AI模型:用于AI的Visual Studio工具与Azure批处理AI和Azure机器学习服务集成,以便向Azure GPU虚拟机,Spark群集等提交深度学习作业。 您可以监视最近的实验的性能,然后生成一个Web服务来为新的智能应用程序供电。

-高效的AI开发人员工具,可以训练模型并将AI注入到您的应用程序中:AI组件可为开发人员和数据科学家提供最强大的一整套集成工具,用于创建,调试和部署其自定义深度学习模型。 使用Visual Studio的强大功能,您可以使用刚刚培训的模型无缝地构建应用程序,而无需切换IDE。

-用TensorBoard等集成开放工具可视化您的模型处理:AI组件还集成了使用TensorBoard进行模型训练和实验的监控和可视化。 在TensorBoard中打开您的作业,以在本地和远程虚拟机上运行。


 

2,怎么在本地配置好你的AI组件前端

通过阅读上文的overview,我们知道,AI组件可以说是弥补了VS的一个短板,那么要怎么安装AI组件呢?

 

首先你得安装好Visual Studio 2017。其Community版本依然是免费的,我因为是MSP,拥有VS Enterprise的订阅,感谢微软爸爸给我饭吃。在安装过程中,选择好Python组件,安装Anaconda 4.4以及Python3.

 

在这里安装,当然你也可以选择独立地安装Anaconda和Python3,并且将其加入到系统变量中,以便于在shell中调用。

之后,在上文提到的网址里下载AI组件,作为一个插件安装。

 

 安装完毕之后,你已经做好了初步准备。

 

接下来,请在本机安装好TensorFlow(CPU与GPU均可),版本1.4最佳(最新版本)。CPU版本只需要

pip install tensorflow

即可,而安装GPU版本则需要安装对应版本的CUDA和CuDNN。因为本学期我换了一台笔记本,轻薄本没有独立显卡,所以我安装的是CPU版本。

 


 

调试你的TensorFlow代码

在Visual Studio中创建一个新的TensorFlow项目:

 

如果一切顺利的话,你将可以看见图中的选择框。

之后熟悉的工作区回来了。

 当然,我觉得TensorFlow的基础知识不需要我来逐一讲解,看这篇博文的人应该都具有一定的TensorFlow编程技巧。

编写完之后按下F5,自动启动shell,运行程序,console中输出结果。

相关文章: 

  • 认识微软Visual Studio Tools for AI

  • 微软Connect(); 2017大会梳理:Azure、数据、AI开发工具

原文:http://www.cnblogs.com/ldzhangyx/p/7967400.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

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

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

相关文章

Spark入门(四)Idea远程提交项目到spark集群

一、依赖包配置 scala与spark的相关依赖包&#xff0c;spark包后尾下划线的版本数字要跟scala的版本第一二位要一致&#xff0c;即2.11 pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.…

关于负载均衡的一切:总结与思考

正文 古人云&#xff0c;不患寡而患不均。 在计算机的世界&#xff0c;这就是大家耳熟能详的负载均衡&#xff08;load balancing&#xff09;&#xff0c;所谓负载均衡&#xff0c;就是说如果一组计算机节点&#xff08;或者一组进程&#xff09;提供相同的&#xff08;同质的…

Spark入门(五)Spark SQL shell启动方式(元数据存储在derby)

一、spark-sql shell介绍 Spark sql是以hive SQL提交spark任务到spark集群执行。 由于spark是计算框架没有存储功能&#xff0c;所有spark sql数据表映射关系存储在运行shell的当前目录下metastore_db目录里面&#xff08;spark默认使用derby数据库创建的本地存储&#xff0c…

Spark入门(六)Spark SQL shell启动方式(元数据存储在mysql)

一、hive配置文件 在spak/conf目录添加hive-site.xml配置&#xff0c;设置mysql作为元数据存储的数据库 <?xml version"1.0" encoding"UTF-8" standalone"no"?> <?xml-stylesheet type"text/xsl" href"configurat…

Asp.NET Core2.0 项目实战入门视频课程_完整版

END OR START? 看到这个标题&#xff0c;你开不开心&#xff0c;激不激动呢&#xff1f; 没错&#xff0c;.net core的入门课程已经完毕了。52ABP.School项目从11月19日&#xff0c;第一章视频的试录制&#xff0c;到今天完整版出炉&#xff0c;离不开各位的帮助和加油。 课程…

VS Tools for AI全攻略(2)低配置虚拟机也能玩转深度学习,无需NC/NV系列

接着上文VS Tools for AI全攻略&#xff0c;我们来讨论如何使用Azure资源来训练我们的tensorflow项目。Azure云我个人用得很多&#xff0c;主要是因为微软爸爸批了150刀每月的额度&#xff0c;我可以愉快地玩耍。 那么针对Azure&#xff0c;有成套的两个方案解决问题。 方案一&…

Spark入门(七)Spark SQL thriftserver/beeline启动方式

一、启动thrift服务 启动thriftServer&#xff0c;默认端口为10000,。 --jars 添加worker类库 --driver-class-path 驱动类库 --master spark集群地址 --total-executor-cores 启动的核数&#xff0c;默认是所有核数 --executor-memory 每个work分配的内存&#xff0c;…

【青岛】12月16日.NETCore与AI技术交流会-等你来哦!!

主题是拥抱开源 拥抱开源&#xff1a;开放是互联终端不断增长的主旨和核心——使技术世界变得越来越复杂&#xff0c;联系越来越紧密。在微软&#xff0c;我们专注于向客户提供任何信息支持&#xff0c;即使在任何设备或者在多个平台上。 未来是开放的&#xff0c;未来的云是开…

对于自绝对父相的理解

1、如果对子元素施加绝对定位&#xff0c;然后设置一个bottom为20 则&#xff1a; html <div class"k1"><div class"k2">1111</div></div>.k1 {margin: 0 auto;height: 500px;width: 500px;background: green;}.k2 {height: 100…

【北京】微软技术直通车(第二期) 之 SQL Server 2017饕餮

微软技术直通车 本系列活动密切关注微软及周边相关技术。以微软云计算和相关产品为依托&#xff0c;涉及云计算、数据处理、开发工具、商用软件、物联网、人工智能等前沿科技。 系列活动邀请微软技术专家、一线开发者、成功创业者、企业家等进行技术和经验分享。让您直通微软新…

MyBatis中的RowBounds

转载自 MyBatis中的RowBounds 一、如何分页查询 Mybatis如何分页查询&#xff1f;Mysql中可以使用limit语句&#xff0c;但limit并不是标准SQL中的&#xff0c;如果是其它的数据库&#xff0c;则需要使用其它语句。MyBatis提供了RowBounds类&#xff0c;用于实现分页查询。R…

使用 MQTTnet 快速实现 MQTT 通信

1 什么是 MQTT &#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输&#xff09;是 IBM 开发的一个即时通讯协议&#xff0c;有可能成为物联网的重要组成部分。MQTT 是基于二进制消息的发布/订阅编程模式的消息协议&#xff0c;如今…

git代码合并冲突与撤回提交

查看版本 切回到某一个版本 git log --graph --abbrev-commit --decorate --prettyoneline git reset --hard a07cefe git有一种情况会造成代码被冲掉&#xff1a; 这里有A端和B端&#xff1a; 相同文本基础之上 A端写了大量代码&#xff0c;提交推送 B端拉取&#xff0c;改了代…

Asp.net Core中SignalR Core预览版的一些新特性前瞻,附源码(消息订阅与发送二进制数据)

前言 一晃一个月又过去了,上个月有个比较大的项目要验收上线.所以忙的脚不沾地.现在终于可以忙里偷闲,写一篇关于SignalR Core的文章了. 先介绍一下SignalR吧,如下: ASP.NET SignalR是ASP.NET开发人员的一个库&#xff0c;它简化了向Web应用程序添加即时通讯功能的过程。 它可以…

大二暑假工作三个月后辞职,总体感悟

本人是个大二的学生&#xff0c;因为疫情影响&#xff0c;学校放了很长时间的假。当时对自己的前端技术很自信&#xff0c;大概在五月底的时候决定去上海闯一下&#xff0c;找个工作&#xff0c;不管能不能找到&#xff0c;就是尝试一下&#xff0c;失败了也没关系&#xff0c;…

35年编程史沉淀下来的8条宝贵经

01 1. 时刻提醒自己&#xff1a;学习 学习某件事的第一步是承认你不知道。这听起来很正常&#xff0c;但经验丰富的程序员还记得要真正让自己承认这一点需要花多长时间。很多计算机科学专业的学生毕业的时候&#xff0c;都有一种很傲慢的态度&#xff0c;就是“我知道最好的”&…

基于Emgu CV+百度人脸识别,实现视频动态 人脸抓取与识别

背景 目前AI 处于风口浪尖&#xff0c;作为 公司的CTO&#xff0c;也作为自己的技术专研&#xff0c;开始了AI之旅&#xff0c;在朋友圈中也咨询 一些大牛对于AI 机器学习框架的看法&#xff0c;目前自己的研究方向主要开源的 AI 库&#xff0c;如&#xff1a;Emgu CV、TensorF…

vue-cli2、vue-cli3脚手架详细讲解

转载自 vue-cli2、vue-cli3脚手架详细讲解 前言&#xff1a; vue脚手架指的是vue-cli它是vue官方提供的一个快速构建单页面&#xff08;SPA&#xff09;环境配置的工具&#xff0c;cli 就是(command-line-interface ) 命令行界面 。vue-cli是基于node环境利用webpack对文件进…

微软为.NET程序员带来了最优的跨平台开发体验-WSL

前言 在前几个Visual Studio Code更新中发现有一个重要得特性&#xff0c;就是nodejs可以使用VS Code在WSL中进行Debug了&#xff08;WSL是指Win10中的Linux子系统&#xff09;,之前写过一篇文章是使用SSH对Linux环境进行Debug&#xff0c;此时的想法就是如果可以在WSL中直接对…

article之api文档

查 method:get http://127.0.0.1:8000/article 单条 http://127.0.0.1:8000/article/10 method:get 新增 http://127.0.0.1:8000/article method:post 修改 http://127.0.0.1:8000/article/10 method:put 删除 http://127.0.0.1:8000/article/3 method:delete ## 查询所有数据&…