1. 程式人生 > 實用技巧 >使用亞馬遜AWS雲伺服器進行深度學習——免環境配置/GPU支援/Keras/TensorFlow/OpenCV

使用亞馬遜AWS雲伺服器進行深度學習——免環境配置/GPU支援/Keras/TensorFlow/OpenCV

前言

吐槽:由於科研任務,需要在雲端執行一個基於神經網路的目標識別庫,需要用到GPU加速。亞馬遜有很多自帶GPU的機器,但是環境的配置可折騰壞了,尤其是opencv,每次總會出各種各樣的問題!
無奈中,看見了Adrian Rosebrock的blog:Pre-configured Amazon AWS deep learning AMI with Python
其已經預配置好各種環境,包括Keras, TensorFlow, scikit-learn, scikit-image, OpenCV等。可以說是很棒棒嘍。
此文章並非其文章的翻譯稿,而是提煉主要內容並且親自實踐而來,補充了很多坑。如條件允許,還請自行閱讀英文原文,更詳細。

第一步:競價獲取伺服器

註冊亞馬遜什麼的就不說了,注意免費一年政策並不能用於這些帶GPU的機型就是了。

使用競價請求來申請主機,至於為什麼要用競價例項,第一是便宜,第二是我發現我的賬號沒有申請持續性gpu主機例項的許可權。至於競價例項是什麼,請google/baidu。

原文中,給了四種適合的機型:

  • c4.xlarge: $0.199/hour

  • p2.xlarge: $0.90/hour

  • p2.8xlarge: $7.20/hour

  • p2.16xlarge: $14.40/hour

For CPU instances I recommend you use the “Compute optimized” c4.* instances. In particular, the c4.xlarge instance is a good option to get your feet wet. If you would like to use a GPU, I would highly recommend the “GPU compute” instances. The p2.xlarge instance has a single NVIDIA K80 (12GB of memory). The p2.8xlarge sports 8 GPUs. While the p2.16xlarge has 16 GPUs.

然而,我選擇g2,8cpu,15g ram,帶一塊GPU,最基礎的任務足夠。

如圖選擇,搜尋ami-ccba4ab4,找到這一個預配置的AMI映象

請注意這裡原本是16G的卷,建議最好20-30G,防止你還要配置或者安裝些東西,之前沒用這個映象,隨便編譯個opencv,硬碟就不夠了。

提交!接下來便是等待,有快有慢,快的時候立刻就有機器。

第二步:一鍵安裝顯示卡驅動

拿到機器後,使用ssh連線上,使用者名稱是ubuntu。

這裡有個坑就是顯示卡驅動。原文已經說了,儘管映象中本來安裝好了驅動,由於掛載盤特性,驅動會可能被系統遮蔽,需要重新安裝,或者是遮蔽某系統檔案(沒仔細研究,我覺得重灌來得快,哈哈哈)。

首先,檢查是否有驅動:

nvidia-smi

如果顯示:

則已經有驅動了,不需要安裝。

否則,你需要安裝驅動,作者已經在/installers下放了顯示卡驅動。安裝:

cd installers
sudo ./NVIDIA-Linux-x86_64-375.26.run --silent

值得注意的是,我用的g2這個機器的顯示卡K520,是不可以用這個驅動的,我們需要重新下載驅動,下載地址如下

http://www.nvidia.com/download/driverResults.aspx/108586/en-us

供大家核對資訊:

將下載的驅動也放在該資料夾後,先要給該檔案執行的許可權,然後靜默安裝:

sudo chmod 777 NVIDIA-Linux-x86_64-367.57.run
sudo ./NVIDIA-Linux-x86_64-367.57.run --silent

安裝時會彈出一些警告,不用理會,安裝好後,再次執行nvidia-smi,得到之前的圖。

現在,你的環境已經配置好了。

第三步:開啟python虛擬環境

最後一步,需要開啟大神預先配置好的環境,執行

workon dl4cv

完成!你可以使用pip-freeze檢視下裝的東西:

最後,放一張執行我程式的圖:

如有問題,可以留言討論,轉載請註明原文連結和作者姓名!