原文連結 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 版本的
下載依賴
依賴可以直接通過
wget
下載到主機上,也可以先下載到 PC 本地再通過 xftp(Windows)或 Filezilla(Mac)上傳。
下載NVIDIA驅動
www.nvidia.com/Download/Fi…
這裡給出 Red Hat 版本 的下載地址
cn.download.nvidia.com/tesla/384.8…
下載 CUDA
developer.nvidia.com/cuda-downlo…
下載後得到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…(需要註冊和填寫問卷之後下載)
這裡給出 通用 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 倍。如果你覺得教程有用,可以微信打賞我哦