在騰訊雲上搭建 Tensorflow for GPU 深度學習環境 —— Jinkey 原創

Jinkey發表於2017-11-11

原文連結 jinkey.ai/post/tech/z…
本文作者 Jinkey(微信公眾號 jinkey-love,官網 jinkey.ai)
文章允許非篡改署名轉載,刪除或修改本段版權資訊轉載的,視為侵犯智慧財產權,我們保留追求您法律責任的權利,特此宣告!

前言

寫文章日期 2017年 11月 11日
當前軟體版本
NVIDIA-Linux-x86_64-384.81.run
nvidia-diag-driver-local-repo-rhel7-384.81-1.0-1.x86_64.rpm
cuda-repo-rhel7-9.0.176-1.x86_64.rpm
cudnn-9.0-linux-x64-v7
tensorflow_gpu-1.4.0-cp27-none-linux_x86_64.whl

購買伺服器

登入控制檯,雲伺服器 - 雲主機 - 地區選擇“北京” - 新建,土豪可以選擇包月哦

配置如圖
配置如圖

選擇好之後呢,配置之後點選開通(賬戶餘額需要足夠,哈哈,此處應有廣告費)
等待主機安裝好,之後,在控制檯獲取到公網 IP(比如123.123.123.123),用 ssh 登入。

ssh root@123.123.123.123複製程式碼

登入之後,看看輸入

cat /proc/version複製程式碼

檢視你的 Linux 版本,企鵝雲用的是

Linux version 3.10.0-693.5.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Fri Oct 20 20:32:50 UTC 2017

所以教程的相關依賴我都會下載 Red Hat 版本的

image.png
image.png

下載依賴

依賴可以直接通過 wget 下載到主機上,也可以先下載到 PC 本地再通過 xftp(Windows)或 Filezilla(Mac)上傳。

下載NVIDIA驅動
www.nvidia.com/Download/Fi…

NVIDIA驅動
NVIDIA驅動

這裡給出 Red Hat 版本 的下載地址
cn.download.nvidia.com/tesla/384.8…

下載 CUDA
developer.nvidia.com/cuda-downlo…

CUDA
CUDA

下載後得到cuda-repo-rhel7-9.0.176-1.x86_64.rpm

這裡給出 Red Hat 版本 的下載地址
developer.download.nvidia.com/compute/cud…

下載 cuDNN
developer.nvidia.com/rdp/cudnn-d…(需要註冊和填寫問卷之後下載)

cuDNN
cuDNN

這裡給出 通用 Linux 版本 的下載地址
developer.nvidia.com/compute/mac…

安裝 NVIDIA驅動

方法一(官方推薦方法)
在下載頁面就有安裝方法介紹,不同版本系統安裝方法不同


以下是 RH 的安裝方法:

# 請替換檔名為你下載依賴時對應的檔名, 公眾號 jinkey-love
rpm -i nvidia-diag-driver-local-repo-rhel7-384.81-1.0-1.x86_64.rpm
yum clean all
yum install cuda-drivers
reboot複製程式碼

方法二(極限偷懶版)

# 安裝 Development Tools 軟體包
sudo yum update
sudo yum group install 'Development Tools'
# 安裝 elrepo 源
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# 探測要安裝的包
sudo yum install nvidia-detect
nvidia-detect
# 安裝
sudo yum install kmod-nvidia複製程式碼

安裝 CUDA

在下載頁面就有安裝方法介紹,不同版本系統安裝方法不同,下面是以 RH 為例:

# 請替換檔名為你下載依賴時對應的檔名, 公眾號 jinkey-love
sudo rpm -i cuda-repo-rhel7-9.0.176-1.x86_64.rpm
sudo yum clean all
sudo yum install cuda複製程式碼

新增 CUDA 到環境變數

vim ~/.bash_profile複製程式碼

加入

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda

因為寫教程的時候 tensorflow 1.4.0 要支援 CUDA 9.0 的話,還需要從原始碼編譯來安裝,所以為了避免通過 pip 安裝會出現 ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory的錯誤,可以先使用 CUDA8.0(安裝 CUDA 9.0 的時候也會同時安裝上8.0 的,所以你不需要重新安裝),此時環境變數可以這麼寫:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64"
export CUDA_HOME=/usr/local/cuda-8.0

安裝 cuDNN

# 請替換檔名為你下載依賴時對應的檔名, 公眾號 jinkey-love
tar -xzvf cudnn-9.0-linux-x64-v7-tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h複製程式碼

安裝 Python 依賴

企鵝雲自帶了 python 2.7

# 安裝 pip
sudo yum install python-pip python-devel
sudo pip install --upgrade pip複製程式碼

安裝 Tensorflow

方法一 原始碼編譯(要使用 CUDA9.0目前之能支援這種方法)
方法二 pip
pip install tensorflow-gpu --upgrade

安裝 matplotlib

sudo yum install freetype-devel
# 公眾號 jinkey-love,官網 jinkey.ai
sudo yum install libpng-devel
sudo pip install matplotlib複製程式碼

安裝 Keras

Keras 封裝了 Theano 和 Tensorflow 的高度模組化的深度學習庫,非常適合新手。

sudo pip install keras --upgrade複製程式碼

Keras 預設後端為 Theano 所以我們要修改為 Tensorflow

vim .keras/keras.json複製程式碼

修改為

{
    "image_dim_ordering": "tf", 
    "epsilon": 1e-07, 
    "floatx": "float32", 
    "backend": "tensorflow"
}複製程式碼

完成

實戰了一下,同樣的專案下,GPU 訓練速度比 CPU 訓練快了 187 倍。如果你覺得教程有用,可以微信打賞我哦

參考資料

安裝 NVIDIA 驅動指引
安裝 CUDA 驅動指引
ImportError: libcublas.so.8.0解決辦法

相關文章