本系列將利用阿里云容器服務的機器學習解決方案,幫助您了解和掌握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)境登錄到容器服務解決方案,在 這樣,就可以看到一個表單。首先通過下拉框選擇剛才創(chuàng)建的 至于GPU數量,由于創(chuàng)建的是一個單GPU的集群,可以設置GPU為1. 如果你創(chuàng)建了CPU集群,就只能設置GPU為0. 這里,還要選擇一下剛才創(chuàng)建數據卷,這個數據卷會映射到深度學習環(huán)境的 因為Jupyter有安全設置,需要指定一下訪問密碼。 最后,由于需要通過TensorBoard監(jiān)控訓練效果,所以需要勾選上 這里有一個很重要的知識點,就是
之后就可以點擊 一旦創(chuàng)建成功,就跳轉到 單擊 單擊 查看Jupyter上的GPU首先在Jupyter主頁面中,創(chuàng)建Terminal 在Terminal里執(zhí)行 上傳Mnist訓練數據獲得訓練集與測試集數據,
利用OSS的圖形客戶端用拉拽的方式非常方便的上傳以上數據 同時在Jupyter的客戶端也可以看到在 在Jupyter中開發(fā)和運行mnist代碼Jupyter提供了上傳代碼的機制,但是如果需要使用一個項目, 在Termnial中執(zhí)行 再回到Jupyter的主頁面,就可以看到下載的 這樣,就可以在Jupyter中開發(fā)和運行mnist代碼, 需要把TensorFlow的訓練日志路徑,設置成前面指定的 由于在配置好GPU的TensorFlow中,即使代碼中沒有明確指定運行設備也會優(yōu)先選擇GPU,通過查看日志我們可以發(fā)現,mnist訓練實際上使用的是GPU資源。 使用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追蹤訓練效果。 |
|