1. 程式人生 > >VS Tools for AI全攻略(2)低配置虛擬機器也能玩轉深度學習,無需NC/NV系列

VS Tools for AI全攻略(2)低配置虛擬機器也能玩轉深度學習,無需NC/NV系列

接著上文VS Tools for AI全攻略,我們來討論如何使用Azure資源來訓練我們的tensorflow專案。Azure雲我個人用得很多,主要是因為微軟爸爸批了150刀每月的額度,我可以愉快地玩耍。

那麼針對Azure,有成套的兩個方案解決問題。

方案一(比較有錢的、對速度要求高的):使用Deep Learning Virtual Machine - NC系列虛擬機器

這個是真貴……具體配置方案如下:

首先你得有一個Azure。這一段不講。

然後進入你的Azure Portal,新建一個這樣的虛擬機器:

640?wx_fmt=png&wxfrom=5&wx_lazy=1

640?wx_fmt=png&wxfrom=5&wx_lazy=1

0?wx_fmt=png

根據雲虛擬機器的一般情況,你可以在建立虛擬機器的時候用密碼建立,然後使用XShell生成RSA金鑰對,使用SSH遠端連線。一般來說SSH連線都是更加主流且常見的連線方式。

之後選擇配置。

0?wx_fmt=png

別急著說貴,必要情況下,這個GPU好到足以撐起整個實驗室。請看配置:

0?wx_fmt=png

看到K80,你就會瞬間覺得這個價格無比良心了。

但是對於那些個人使用者來說,肯定是用不到這麼高階的配置的。對於這些個人使用者,該怎麼做呢?

現在我們需要一種窮人的方法來搭建好Azure虛擬機器。

思路很簡單,因為AI元件的原理其實是傳送了script檔案和命令上去,那麼我們這個虛擬機器只要做好了所有的配置,那麼我們就可以將它當作深度學習虛擬機器來用了。

寫到這裡,我忍不住哀嘆一聲。買不起外接顯示卡的窮人,只能絞盡腦汁想這種省錢的辦法。

新建一個Ubuntu 16.04LTS虛擬機器。當然選擇Windows虛擬機器也是可以的,只是不太主流。

0?wx_fmt=png

選擇儲存之後,使用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。

0?wx_fmt=png

安裝完成之後的主要步驟參見:https://github.com/Microsoft/vs-tools-for-ai/blob/master/docs/tensorflow-vm.md

這裡做出中文的說明。

1,開啟你的解決方案。

0?wx_fmt=png

2,選擇伺服器資源管理器,使用SSH連線好你的虛擬機器。(記得提前給你的虛擬機器設定靜態IP)

0?wx_fmt=png

0?wx_fmt=png

連線完成之後你可以發現Remote machine裡多了你的虛擬機器。你可以點進去看看你虛擬機器的檔案。

3,提交一個Job。

0?wx_fmt=png

在解決方案管理器裡提交job,有幾個引數需要注意一下:

0?wx_fmt=png

cluster是你的虛擬機器名字。在第三行有一個Job Name必須寫,你選一個自己喜歡的名字就好,作為job的區分標識。

下面這些引數有些複雜,但是如果你直接提交的話,將會報類似的錯誤。

點選這裡檢視所有的Jobs:

0?wx_fmt=png

 如果你選擇了Python2/3雙版本共存,可能會出現這樣的錯誤:

0?wx_fmt=png

原因出在這裡:

如果我們在Summit的時候填寫的是python,那麼虛擬機器會執行python tensorflowapplication.py這一條指令。

而我們之前為了方便,安裝了Python3使得兩版本共存,那麼python呼叫的其實是python2.要使虛擬機器呼叫Python3,我們只需要這麼修改:

0?wx_fmt=png

這樣我們就可以使用Python3了。

提交,檢視結果:

0?wx_fmt=png

如果你要在執行的時候指定一些引數,也是在類似的地方進行調整

相關文章: 

0?wx_fmt=png

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

.NET社群新聞,深度好文,歡迎訪問公眾號文章彙總 http://www.csharpkit.com

640?wx_fmt=jpeg

相關推薦

VS Tools for AI2配置虛擬機器深度學習無需NC/NV系列

接著上文VS Tools for AI全攻略,我們來討論如何使用Azure資源來訓練我們的tensorflow專案。Azure雲我個人用得很多,主要是因為微軟爸爸批了150刀每月的額度,我可以愉快地玩耍。 那麼針對Azure,有成套的兩個方案解決問題。 方案一(比較有錢的、對速度要求高的):使用De

【微軟大法好】VS Tools for AI2

port shell orf 方式 virt cnblogs 我們 玩耍 虛擬 接著上文,我們來討論如何使用Azure資源來訓練我們的tensorflow項目。Azure雲我個人用得很多,主要是因為微軟爸爸批了150刀每月的額度,我可以愉快地玩耍。 那麽針對Azure,有成

VS Tools for AI

大家都知道微軟在Connect();17大會上釋出了VS Tools for AI,旨在提升Visual Studio和VSCode對日益增長的深度學習需求的體驗。看了一圈,網上似乎沒有一個完整的中文教程來教你怎麼完整配置深度學習方案。 與此同時我也接了一個活,是俱樂部與MSRA的專案,專案的目的之一是向V

【乾貨】Chrome外掛(擴充套件)開發轉載

轉載來源:https://www.cnblogs.com/liuxianan/p/chrome-plugin-develop.html 【乾貨】Chrome外掛(擴充套件)開發全攻略 寫在前面 我花了將近一個多月的時間斷斷續續寫下這篇博文,並精心寫下完整demo,寫部落格的辛苦大家懂的,

VSCode外掛開發WebView

更多文章請戳VSCode外掛開發全攻略系列目錄導航。 什麼是Webview 大家都知道,整個VSCode編輯器就是一張大的網頁,其實,我們還可以在Visual Studio Code中建立完全自定義的、可以間接和nodejs通訊的特殊網頁(通過一個acquireVsCodeApi特殊方法),這個網頁就叫W

VSCode外掛開發開發除錯技巧

更多文章請戳VSCode外掛開發全攻略系列目錄導航。 前言 在介紹完一些比較簡單的內容點之後,我覺得有必要先和大家介紹一些開發中遇到的一些細節問題以及技巧,特別是後面一章節將要介紹WebView的知識,這個坑會比較多,避免大家走彎路。 開發方式 最理想的方式是準備雙顯示器,一個寫程式

VSCode外掛開發到定義、自動補、懸停提示

更多文章請戳VSCode外掛開發全攻略系列目錄導航。 跳轉到定義 跳轉到定義其實很簡單,通過vscode.languages.registerDefinitionProvider註冊一個provider,這個provider如果返回了new vscode.Location()就表示當前游標所在單詞支援跳轉

VSCode外掛開發概覽

文章索引 寫在前面 一年前我寫了一篇3萬多字的Chrome外掛(擴充套件)開發全攻略,反響還不錯,幫助了很多新手快速上手,甚至包括大名鼎鼎的紅芯瀏覽器(戳這裡瞭解更多)。 最近因工作需要又接觸到了vscode外掛開發,所以趁勢再寫一篇有關vscode外掛開發的文章,記錄一些自己踩過的坑以及接觸vscod

VSCode外掛開發程式碼片段、設定、自定義歡迎頁

程式碼片段 程式碼片段,也叫snippets,相信大家都不陌生,就是輸入一個很簡單的單詞然後一回車帶出來很多程式碼。平時大家也可以直接在vscode中建立屬於自己的snippets: 建立程式碼片段 那麼如何在擴充套件中建立snippets呢? package.json檔案新增如下: "contribut

VSCode外掛開發打包、釋出、升級

釋出方式 外掛開發完了,如何釋出出去分享給他人呢?主要有3種方法: 方法一:直接把資料夾發給別人,讓別人找到vscode的外掛存放目錄並放進去,然後重啟vscode,一般不推薦; 方法二:打包成vsix外掛,然後傳送給別人安裝,如果你的外掛涉及機密不方便釋出到應用市場,可以嘗試採用這種方式; 方法三:註冊

C#微信公眾號3--接管所有訊息驗證部分 C#程式碼

新建網站 新建一般處理程式 怎麼操作SQL資料庫不寫了 只發一些關鍵部分程式碼 一般處理程式關鍵程式碼 public class Interface : IHttpHandler { public stati

C#微信公眾號5--群發訊息時的openid對應的使用者是誰呢

有一個openid不屬於公眾號關注使用者的任何一位 在通過微信控制檯群發訊息後 將有一個Event為MASSSENDJOBFINISH的事件推送 對應的openid 他是誰呢 他的nickname是張三瘋 來自 中國 廣東 廣州 簽名是DayDayUpUp

C#微信公眾號4--實現回覆訊息C#程式碼

接上文 這個函式把使用者發來的內容交接給messageHelp來處理 最後返回messageHelp.ReturnMessage private void Handle(string postStr) { messageHelp help = new

VSCode外掛開發常用API總結

本文提煉一些常見的API使用場景供參考,本文內容有待完善。 編輯器相關 修改當前啟用編輯器內容 替換當前編輯器全部內容: vscode.window.activeTextEditor.edit(editBuilder => { // 從開始到結束,全量替換 const end = ne

VSCode外掛開發HelloWord

寫著前面 學習一門新的語言或者生態首先肯定是從HelloWord開始。 您可以直接克隆我放在GitHub上vscode-plugin-demo 的程式碼到本地,然後嘗試修改程式碼並執行,也可以使用微軟官方的腳手架vscode-generator-code來生成專案結構,腳手架的使用我們後面再來介紹,先來熟悉

VSCode外掛開發package.json詳解

package.json 在詳細介紹vscode外掛開發細節之前,這裡我們先詳細介紹一下vscode外掛的package.json寫法,但是建議先只需要隨便看一下,瞭解個大概,等後面講到具體細節的時候再回過頭來看。 如下是package.json檔案的常用配置,當然這裡還不是全部: { // 外掛的

VSCode外掛開發命令、選單、快捷鍵

命令 我們在前面HelloWord章節中已經提到了命令寫法,這裡再重溫一下。 context.subscriptions.push(vscode.commands.registerCommand('extension.sayHello', () => { vscode.window.showI

Linux使用者管理

摘要:本文詳解使用者(User)和使用者組(Group)的配置檔案,本文是《Linux 使用者(User)和使用者組(Group)管理概述》文件的關健部份的細化;通過本文,您至少能明白/etc/passwd /etc/group ,以及什麼是UID和GID 等;其中對UID的

Android程序保活

在上一篇部落格Android程序保活全攻略(上)中介紹了程序保活的背景和一些方法的思路和實現方式,本篇部落格我將承接上篇部落格,繼續進行介紹。 9) 1畫素懸浮層 **思路:**1畫素懸浮層是傳說的QQ黑科技,監控手機鎖屏解鎖事件,在螢幕鎖屏時啟動1個

在Struts2中實現自定義分頁標籤

我們先看看這個分頁標籤的效果: 使用標籤的最大好處就是下次再用到的話直接引用就行,而不必重寫。 本人對Struts2自定義標籤沒有太深究,在網上找了一些資料可以參考參考: 其實,開發自定義標籤並不需要Struts2的支援,一般情況下,只需要繼承javax.servle