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

接着上文VS Tools for AI全攻略,我们来讨论如何使用Azure资源来训练我们的tensorflow项目。Azure云我个人用得很多,主要是因为微软爸爸批了150刀每月的额度,我可以愉快地玩耍。

那么针对Azure,有成套的两个方案解决问题。

方案一(比较有钱的、对速度要求高的):使用Deep Learning Virtual Machine - NC系列虚拟机

这个是真贵……具体配置方案如下:

首先你得有一个Azure。这一段不讲。

然后进入你的Azure Portal,新建一个这样的虚拟机:

 

根据云虚拟机的一般情况,你可以在创建虚拟机的时候用密码创建,然后使用XShell生成RSA密钥对,使用SSH远程连接。一般来说SSH连接都是更加主流且常见的连接方式。

之后选择配置。

别急着说贵,必要情况下,这个GPU好到足以撑起整个实验室。请看配置:

看到K80,你就会瞬间觉得这个价格无比良心了。

但是对于那些个人用户来说,肯定是用不到这么高端的配置的。对于这些个人用户,该怎么做呢?

现在我们需要一种穷人的方法来搭建好Azure虚拟机。

思路很简单,因为AI组件的原理其实是传送了script文件和命令上去,那么我们这个虚拟机只要做好了所有的配置,那么我们就可以将它当作深度学习虚拟机来用了。

写到这里,我忍不住哀叹一声。买不起外置显卡的穷人,只能绞尽脑汁想这种省钱的办法。

新建一个Ubuntu 16.04LTS虚拟机。当然选择Windows虚拟机也是可以的,只是不太主流。

选择存储之后,使用XShell远程连接虚拟机(这样比较方便)。

注意此时的虚拟机,GPU约等于没有,所以我们不得不运行CPU版本。所以这个虚拟机的性能会比较差,但是虚拟机此时也可以拿来用作其他事情,比如当作私有云盘,或者是tizi。

具体的安装步骤可以查看http://www.cnblogs.com/ldzhangyx/p/7624771.html,这篇博文主要讲述了如何deploy你的虚拟机,并且安装好TensorFlow环境。注意,与那篇文章有些区别的是,Azure虚拟机一般情况下不能带动CUDA,所以我们需要做的仅仅是:

1,安装Python3

2,安装TensotFlow及必要的依赖库(如pandas),这个依赖库的列表可能很长,所以也可以安装Anaconda来做到一次性配置。

TIPS:一定要安装好所有的依赖库,具体的列表可以通过报错信息确定。

下面的操作以Ubuntu版本为准,Windows版本的配置方法类似。

我们打开VS installer,安装Azure SDK。


 

安装完成之后的主要步骤参见:https://github.com/Microsoft/vs-tools-for-ai/blob/master/docs/tensorflow-vm.md

这里做出中文的说明。

1,打开你的解决方案。

2,选择服务器资源管理器,使用SSH连接好你的虚拟机。(记得提前给你的虚拟机设置静态IP)

连接完成之后你可以发现Remote machine里多了你的虚拟机。你可以点进去看看你虚拟机的文件。

 

3,提交一个Job。

在解决方案管理器里提交job,有几个参数需要注意一下:

 

cluster是你的虚拟机名字。在第三行有一个Job Name必须写,你选一个自己喜欢的名字就好,作为job的区分标识。

下面这些参数有些复杂,但是如果你直接提交的话,将会报类似的错误。

点击这里查看所有的Jobs:

 如果你选择了Python2/3双版本共存,可能会出现这样的错误:

 

原因出在这里:

如果我们在Summit的时候填写的是python,那么虚拟机会执行python tensorflowapplication.py这一条指令。

而我们之前为了方便,安装了Python3使得两版本共存,那么python调用的其实是python2.要使虚拟机调用Python3,我们只需要这么修改:

 

这样我们就可以使用Python3了。

提交,查看结果:

如果你要在执行的时候指定一些参数,也是在类似的地方进行调整

相关文章: 

  • 认识微软Visual Studio Tools for AI

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


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


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

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

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

相关文章

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

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

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

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

对于自绝对父相的理解

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 ## 查询所有数据&…

Redis 性能问题分析

转载自 Redis 性能问题分析 在一些网络服务的系统中&#xff0c;Redis 的性能&#xff0c;可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博&#xff0c;把热点微博[1]&#xff0c;最新的用户关系&#xff0c;都存储在 Redis 中&#xff0c;大量的查询击中 Redis&am…

谈谈微服务中的 API 网关(API Gateway)

前言 又是很久没写博客了&#xff0c;最近一段时间换了新工作&#xff0c;比较忙&#xff0c;所以没有抽出来太多的时间写给关注我的粉丝写一些干货了&#xff0c;就有人问我怎么最近没有更新博客了&#xff0c;在这里给大家抱歉。 那么&#xff0c;在本篇文章中&#xff0c;我…

laravel如何生成swagger接口文档

php artisan serve --host 0.0.0.0 php artisan serve --port 8080 地址&#xff1a; http://127.0.0.1/blogkjh/public/api/documentation 1、安装包 composer require darkaonline/l5-swagger 2、配置 php artisan vendor:publish --provider “L5Swagger\L5SwaggerService…

OAuth2 实现单点登录 SSO

转载自 OAuth2 实现单点登录 SSO 1. 前言 技术这东西吧&#xff0c;看别人写的好像很简单似的&#xff0c;到自己去写的时候就各种问题&#xff0c;“一看就会&#xff0c;一做就错”。网上关于实现SSO的文章一大堆&#xff0c;但是当你真的照着写的时候就会发现根本不是那么…

Ocelot网关

Ocelot是一个.net core框架下的网关的开源项目&#xff0c;下图是官方给出的基础实现图&#xff0c;即把后台的多个服务统一到网关处&#xff0c;前端应用&#xff1a;桌面端&#xff0c;web端&#xff0c;app端都只用访问网关即可。 Ocelot的实现原理就是把客户端对网关的请求…

百度OCR文字识别-身份证识别

简介 答应了园区大牛张善友 要写AI 的系列博客&#xff0c;所以开始了AI 系列之旅。 一、介绍 身份证识别 API 接口文档地址&#xff1a;http://ai.baidu.com/docs#/OCR-API/top 接口描述 用户向服务请求识别身份证&#xff0c;身份证识别包括正面和背面。 请求说明 请求示例…