日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

打造深度學習的云端實驗室

 黃爸爸好 2019-07-14
本系列將利用阿里云容器服務的機器學習解決方案,幫助您了解和掌握TensorFlow,MXNet等深度學習庫,開啟您的深度學習之旅。

我們工作中常常會問到:“深度學習從哪里學起?” 在讀過了大量的文章,看過了無數的教程后,許多朋友依然表示很無感。這其實很正常,因為紙上得來終覺淺么,絕知此事要躬行。為了幫助大家快速上手這一個機器學習分支,阿里云容器服務機器學習解決方案提供了豐富的開源框架幫助大家實踐,其中包括TensorFlow, Keras和MXNet,為了方便您學習和掌握,我們會編寫一系列的文章,介紹其中的細節(jié)。

本文是這個系列中的第一篇文章,我會在基于阿里云容器服務的機器學習解決方案,創(chuàng)建一套基于TensorFlow的Jupyter開發(fā)環(huán)境,并在上面開發(fā)一個簡單Minst應用,最后利用TensorBoard觀察訓練效果。當然,你也可以在上面玩轉包括 Keras和MXNet等框架,在本文中我們也介紹了如何使用MXNet的例子。

Jupyter notbook簡介

Jupyter notebook 是基于網頁應用程序,你可以在上面以交互的方式編寫和注釋Python代碼。這是一種做試驗,做研究,并分享工作內容的有效方法。

為什么要在阿里云上運行Jupyter?

深度學習應用基本都是計算密集型的,如果用你的筆記本可能要運行個三五天。而換成GPU的話,訓練和預測的速度可能提升5到10倍。但是個人購買GPU卡并不合算,而阿里云最近推出了彈性GPU服務,可以按小時收費,給了我們尋常百姓一次可以和深度學習親密接觸的機會。Jupyter notebook 可以提供與本地計算機上運行相同的體驗,同時也方便你利用阿里云上的GPU服務開啟你的深度學習之旅,請和跟著我們的教程一步步開始吧!

準備數據卷和容器集群

需要創(chuàng)建容器集群,并且 創(chuàng)建數據卷。當然也可以使用 ROS 模板一鍵式的創(chuàng)建 GPU 容器集群并添加數據卷。這里我們就可以得到一個GPU集群,可以看到其中的GPU設備:

并且可以看到其中的數據卷。

體驗云端創(chuàng)建開發(fā)環(huán)境

登錄到容器服務解決方案,在 模型開發(fā) 中點擊 創(chuàng)建

這樣,就可以看到一個表單。首先通過下拉框選擇剛才創(chuàng)建的集群名稱,點擊訓練框架 ,這時可以看到一系列深度學習框架的列表,其中包括TensorFlow, Keras和MXNet的不同版本, 還可以指定python2和python3的版本,這里我選擇TensorFlow的1.0.0版本。

至于GPU數量,由于創(chuàng)建的是一個單GPU的集群,可以設置GPU為1. 如果你創(chuàng)建了CPU集群,就只能設置GPU為0.

這里,還要選擇一下剛才創(chuàng)建數據卷,這個數據卷會映射到深度學習環(huán)境的/input目錄。

因為Jupyter有安全設置,需要指定一下訪問密碼。

最后,由于需要通過TensorBoard監(jiān)控訓練效果,所以需要勾選上訓練監(jiān)控。

這里有一個很重要的知識點,就是訓練日志路徑,實際上這個路徑是TensorBoard讀取訓練日志的路徑。假設你在這里指定的路徑是/output/training_logs,你就需要在訓練代碼里寫下這樣的代碼

summary_writer = tf.summary.FileWriter('/output/training_logs')

之后就可以點擊創(chuàng)建了。

一旦創(chuàng)建成功,就跳轉到應用列表頁面,這時可以在看到剛剛創(chuàng)建的應用, 單擊應用名稱進去。

單擊 路由列表,就可以看到兩個鏈接,分別是以 jupytertensorboard為開頭的鏈接

單擊jupyter開頭的鏈接,并且輸入 jupyter 的密碼,就能進入 jupyter 環(huán)境。

查看Jupyter上的GPU

首先在Jupyter主頁面中,創(chuàng)建Terminal

在Terminal里執(zhí)行nvidia-smi,可以看到Jupyter環(huán)境能使用GPU,剩下只需要在代碼中加上GPU調用就好了

上傳Mnist訓練數據

獲得訓練集與測試集數據,

文件內容
train-images-idx3-ubyte.gz訓練集圖片 - 55000 張 訓練圖片, 5000 張 驗證圖片
train-labels-idx1-ubyte.gz訓練集圖片對應的數字標簽
t10k-images-idx3-ubyte.gz 測試集圖片 - 10000 張 圖片
t10k-labels-idx1-ubyte.gz 測試集圖片對應的數字標簽

利用OSS的圖形客戶端用拉拽的方式非常方便的上傳以上數據

同時在Jupyter的客戶端也可以看到在/input文件夾已經有這些文件的列表了:

在Jupyter中開發(fā)和運行mnist代碼

Jupyter提供了上傳代碼的機制,但是如果需要使用一個項目,git是一個比較好的選擇。

在Termnial中執(zhí)行git clone https://github.com/cheyang/TensorFlow-Examples.git

再回到Jupyter的主頁面,就可以看到下載的TensorFlow-Examples, 跳到TensorFlow-Examples/notebooks/4_Utils,選擇tensorboard_basic.ipynb

這樣,就可以在Jupyter中開發(fā)和運行mnist代碼, 需要把TensorFlow的訓練日志路徑,設置成前面指定的訓練日志路徑,對于本例子來說是/output/training_logs, 點擊Run All

由于在配置好GPU的TensorFlow中,即使代碼中沒有明確指定運行設備也會優(yōu)先選擇GPU,通過查看日志我們可以發(fā)現,mnist訓練實際上使用的是GPU資源。

使用TensorBoard查看訓練效果

回到應用的路由列表,點擊其中tensorboard為開頭的鏈接

這樣我們就可以看到完整的訓練效果展示, 包括loss的趨勢,圖片示例以及計算圖

除了TensorFlow,我們也支持MXNet等框架,以下是MXNet的例子

云端Jupyter環(huán)境開發(fā)MXNet的應用

對于MXNet我們同樣也支持TensorBoard的展示,可以使用understanding_vanish_gradient.ipynb來測試一下

在創(chuàng)建MXNet的開發(fā)環(huán)境后,你也可以開發(fā)并且監(jiān)控基于MXNet的深度學習應用

總結

我們可以利用阿里云容器服務的機器學習解決方案,輕松的搭建在云端搭建TensorFlow,MXNet和Keras的環(huán)境,并且利用TensorBoard追蹤訓練效果。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多