接着上文,现在我们需要一种穷人的方法来搭建好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了。

提交,查看结果:

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

【微软大法好】VS Tools for AI全攻略(3):低配置虚拟机也能玩转深度学习,无需NC/NV系列的更多相关文章

  1. 【微软大法好】VS Tools for AI全攻略

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

  2. 【微软大法好】VS Tools for AI全攻略(4)——选择适合自己的虚拟机

    当我们选择好了自己的虚拟机后,也许效果不尽如人意.就比如我,发现代码在训练一段时间之后,CPU的使用率会下降. 这个时候我们就要开始考虑,是不是我们选择的虚拟机不是适合自己的型号. Azure的虚拟机 ...

  3. 【微软大法好】VS Tools for AI全攻略(3)

    接着上文,现在我们需要一种穷人的方法来搭建好Azure虚拟机. 思路很简单,因为AI组件的原理其实是传送了script文件和命令上去,那么我们这个虚拟机只要做好了所有的配置,那么我们就可以将它当作深度 ...

  4. 【微软大法好】VS Tools for AI全攻略(2)

    接着上文,我们来讨论如何使用Azure资源来训练我们的tensorflow项目.Azure云我个人用得很多,主要是因为微软爸爸批了150刀每月的额度,我可以愉快地玩耍. 那么针对Azure,有成套的两 ...

  5. VSCode插件开发全攻略(十)打包、发布、升级

    更多文章请戳VSCode插件开发全攻略系列目录导航. 发布方式 插件开发完了,如何发布出去分享给他人呢?主要有3种方法: 方法一:直接把文件夹发给别人,让别人找到vscode的插件存放目录并放进去,然 ...

  6. Moon.Orm3.8技术全攻略

    Moon.ORM技术全攻略  一.绪论 本文主要是针对Moon.ORM的技术的讨论及其使用使用指导.如有其它疑问,请留言.本文主要针对Moon.ORM3.9版本,同时将会对4.0做一个技术预览.本文从 ...

  7. 用友U8客户端连接不上服务器全攻略

    用友U8客户端连接不上服务器全攻略 http://www.enet.com.cn2009年09月23日09:26 来自论坛 [导读]:如果网络不通,就让用户查找网络原因 检查步骤: 1.网络是否通? ...

  8. Android使用XML全攻略(1)

    Android使用XML全攻略(1)    Android 是针对移动设备的一种新兴的开源操作系统和 SDK.借助它,您可以创建功能强大的移动应用程序.当您的应用程序可以访问 Web 服务时,其吸引力 ...

  9. VS2013全攻略(安装,技巧,快捷键,插件)!

    工欲善其事,必先利其器.VS2013全攻略(安装,技巧,快捷键,插件)! 之前一篇<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥>承蒙大家喜爱和编辑推荐,在此 ...

随机推荐

  1. POJ 1601 拓展欧几里得算法

    学习链接:http://www.cnblogs.com/frog112111/archive/2012/08/19/2646012.html 先来学习一下什么是欧几里得算法: 欧几里得原理是:两个整数 ...

  2. HTML5学习笔记(七)HTML5 服务器发送事件(Server-Sent Events)

    Server-Sent 事件指的是网页自动获取来自服务器的更新. 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新.通过服务器发送事件,更新能够自动到达. EventSource 对象用于接 ...

  3. Eclipse插件无法识别的解决方法汇总

    参考 http://www.cnblogs.com/apollolee/archive/2013/06/18/3142243.html

  4. Unix Tutorial Eight

    1.UNIX 变量 变量是在运行时将信息从shell传递到程序的一种方式.程序在特定的变量中查找“在环境中”,如果发现它们将使用存储的值.有些是由系统设置的,另一些是由你设置的,还有一些是由shell ...

  5. 2017乌鲁木齐区域赛A(动态规划,组合数学,期望)

    #include<bits/stdc++.h>using namespace std;double c[110][110];double g[110];double dp[110][110 ...

  6. C#多进程并行

    为了并行执行多个任务,可以启动多个进程(并行数). 下面提供两种方法,总任务数10,最大并行数4. 一.方法1 using System; using System.Collections.Gener ...

  7. Solr 6.1学习笔记 -- spellcheck 组件

    <searchComponent name="spellcheck" class="solr.SpellCheckComponent"> <s ...

  8. 监听Listener的简介及分类

    一.监听器简介 > Listener是JavaWeb中三大组件之一.Servlet.Filter.Listener > 三大组件都有的共同特点,都需要实现一个接口,并在web.xml文件配 ...

  9. Java 引用类型

    若内存中一个对象没有任何引用的话,则可以认为该对象已经不再使用了,可以成为GC的候选.不过由于垃圾回收器的运行时间不确定,可被垃圾回收的对象的实际被回收时间是不确定的.对于一个对象来说,只要有引用的存 ...

  10. P1168 中位数(对顶堆)

    题意:维护一个序列,两种操作 1.插入一个数 2.输出中位数(若长度为偶数,输出中间两个较小的那个) 对顶堆 维护一个小根堆,一个大根堆,大根堆存1--mid,小根堆存mid+1---n 这样堆顶必有 ...