【學習日記】使用百度深度學習平臺進行深度學習

       最近,一直在自學深度學習。一邊學習理論,一遍學習編程。在做CNN的時候,手頭的筆記本電腦就喫不消了,運行的速度明顯跟不上。本來想買一臺帶好點的顯卡,可是調研了一下,帶NVIDIA 1080的差不多要1萬左右,更不用說更高的配置。

       偶然發現百度雲裏面有一款用於服務深度學習者的產品:百度深度學習。

       淺試了一下,個人感覺有以下幾個優點,值得用來進行深度學習的學習:

       1. 上手容易。有幫助文檔,可以幫助新手入門。雖然不是很豐富,但是上手很容易。

       2. 價格還算可以接受。因爲我只是新手,計算的任務僅限於測試一些案例和調試一些參數。而該產品是使用按量計費的,最便宜的配置5.16元/時(Nvidia K40),非常符合我的需求,用完即可釋放。

       3. 系統鏡像已經預置了Tensorflow,keras等主流框架,非常方便。而且如果有缺少的包,也可自行安裝。

       當然,也有不好的地方:

       1. 每次用完釋放,無法保存鏡像,每次都要重新下載數據。

       2. 用的是python2.7的版本。我筆記本上一直用的事Python3.5的版本。

       以下,簡單描述一下使用過程(假設已經有百度雲賬號而且賬號裏面的餘額不少於100元):

       1. 進入百度深度學習平臺(https://cloud.baidu.com/product/bdl.html)

       2. 點擊“立即使用”

       3. 點擊“創建集羣”

       4. 輸入集羣名稱(隨便取)、輸入管理員密碼、選擇集羣鏡像、選擇配置

       5. 點擊“下一步”,點擊“去支付”,隨即你就擁有了一個帶有Nvidia K40顯卡的計算機。

       6. 進入管理控制檯,點擊集羣名稱,在基本信息裏面可以看到公網IP,可以通過該IP訪問該計算機。(該產品還自帶了Jupyter notebook,不過目前沒有太多的幫助文檔,試用了一下,目前好像不太好用),以下是集羣信息:

               

       7. 打開“Putty”(或者其他類似功能的工具),輸入上述公網IP,輸入用戶名root,密碼(創建集羣時設置的密碼),即可登陸集羣。

       8. 集羣中內置了3個domo,可以試一下,運行速度比筆記本快了很多。

      

       接下來就是上傳自己的代碼、數據、運行,並下載運行結果。集羣是利用百度另一款產品,BOS實現數據的上傳和下載。這裏需要另外購買BOS,對於學習來說,BOS很便宜,是按照儲存的量來計費的。以下是1GB的費用,只要0.74801元/月

     

        按照我的理解,集羣需要通過BOS作爲中轉來實現和本地的數據交換。也就是說,本地計算機需要上傳數據到BOS,然後集羣從BOS上下載數據;算完之後,需要將集羣上的數據上傳到BOS,然後本地電腦再從BOS上下載,稍微有點麻煩,希望以後能夠實現直接的上傳和下載。不過,因爲BOS和集羣屬於同一個內網,所以速度很快,可以達到20M/s。

       以下,介紹BOS的創建:

       1. 進入對象存儲:https://cloud.baidu.com/product/bos.html

       2. 點擊“立即使用”

       3. 點擊“新建Bucket”,輸入“Bucket名稱”,(該名稱是唯一的,可通過該名稱儲存,下載數據),區域和集羣一致,存儲類型選擇“標準”,讀寫權限選擇“公共讀寫”(我這裏主要是用來學習,讀數據的安全不是很重視,爲了方便,選擇“公共讀寫”)

       4. 點擊“確定”,即可擁有一個類似硬盤的雲盤

       5. 點擊你創建的“Bucket名稱”,即可進行文件的上傳

       6. 這裏假設你上傳了文件cifar10_vgg16.zip文件,點擊獲取地址,即可獲得該文件的地址file_address(指文件地址)

       7. 在Putty中輸入wget file_address,即可從BOS中下載該文件到深度學習平臺 

       以上介紹了文件的上傳,即從本地上傳到BOS,集羣再從BOS中下載。反過來的過程,即從集羣上傳文件到BOS,需要使用BOS CLI,

       1. 從以下地址下載BOS CLI安裝包https://cloud.baidu.com/doc/Downloadcenter/CLI.html

       2. 通過上述步驟將該安裝包從本地上傳到BOS,然後從BOS下載到集羣

       3. 在Putty中解壓安裝包、安裝

    $ unzip bce-cli-0.10.8.zip
    $ cd bce-cli-0.10.8
    $ python setup.py install
       4. 安裝完之後,就可以把集羣中的文件上傳到BOS,這裏假設你要上傳mnist.py

    bce bos cp mnist.py bos:/mybucket/mnist.py
       (這裏mybucket要換成你剛纔創建的Bucket名稱)

       這樣,就可以實現代碼、數據在集羣和本地電腦上的上傳和下載,就可以愉快地進行深度學習了。

       以下,通過vgg16神經網絡分類cifar10數據集對比一下,我破爛的筆記本電腦(ThinkPad E430c)和帶一個Nvidia K40集羣的速度:


ThinkPad E430C 8.8examples/sec
Nvidia K40 460examples/sec
       通過以上表格,K40可以達到筆記本電腦的52倍!
       用完之後,要記得點擊“釋放”,這樣集羣就自動刪除了,然後百度會根據的用的時間進行計費。

       不好的事,集羣釋放之後,你計算的結果,上傳的數據就跟着消失了(BOS中的數據不會消失)。等下一次你要算的時候,就要從頭開始,不過每次創建的時間也不會太長,估計在3分鐘左右,也可以接受。




        


       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章