接着上文,现在我们需要一种穷人的方法来搭建好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了。
提交,查看结果:
如果你要在执行的时候指定一些参数,也是在类似的地方进行调整。