伺服器從零搭建GPU版本的TensorFlow環境
系統資訊:
Ubantu18.04,GPU:Tesla P100
1. 使用Xshell 登入伺服器
2. 安裝nvidia驅動
根據伺服器nvidia資訊,下載對應版本的驅動(http://www.nvidia.com/Download/index.aspx?lang=en-us)
檢視nvidia資訊的命令
lspci | grep -i nvidia
將下載好的驅動檔案傳輸到伺服器資料夾下,依次輸入以下兩行命令,根據提示選擇accept和yes,安裝結束。
sudo apt-get install linux-headers-$(uname -r) sudo sh NVIDIA*.run
3.安裝CUDA toolkit
官網下載CUDA toolkit對應版本(https://developer.nvidia.com/cuda-downloads),剛開始我選擇的是最新的cuda_10.0,但是TensorFlow-gpu等對應的版本還沒有,所以後面一直不成功。後來我選擇了比較成熟的cuda_9.0,下載的是runfile本地安裝。下載好同樣上傳到伺服器。(ps:雖然我的ubantu是18.04版本,但是這裡選16.04也不影響)
根據官網的提示命令安裝,或者使用命令
sudo sh cuda*.run
當出現下圖所示情況時候,是CUDA的協議,按著enter往下走,一直到100%
接下來,輸入accept,yes,注意接下來的一定要選擇no,否則會出錯(具體為什麼出錯暫時不知道)。
出現這樣的字樣,安裝結束
注:如果第二行出現:toolkit installation failed using unsupported compiler,則將上文的安裝命令後面新增-override即可,即
sudo sh cuda*.run -override
最後,新增環境變數
sudo vi /etc/profile
在開啟的檔案最後新增cuda的地址
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
儲存,退出,通過source命令使更改生效,並檢查CUDA是否安裝完成
source /etc/profile 使更改生效。
nvcc –V 檢查CUDA
4. 安裝CUDNN
官網下載和CUDA對應的版本(https://developer.nvidia.com/rdp/cudnn-download ),需要註冊。然後解壓檔案,一次執行以下命令
tar -xvzf cudnn-9.0-linux-x64-v7.1.tgz
cd cuda
sudo cp include/cudnn.h /usr/local/cuda/include
sudo cp lib64/libcudnn.* /usr/local/cuda/lib64
CUDNN安裝完成。
5. 安裝anaconda
在官網下載anaconda(https://www.continuum.io/downloads)。上傳到伺服器,使用如下命令安裝。
sudo sh Anaconda3-5.2.0-Linux-x86_64.sh
根據提示,如果出現是否新增環境變數選擇yes,如果選擇了no,可以之後手動新增,方法如下:
sudo vi ~/.bashrc
在最後新增:
export PATH=$PATH:/home/userName/anaconda3/bin:$PATH
儲存退出,使用source使命令生效。
source ~/.bashrc
所有這些都做好之後,記得關閉Xshell連線,重新連上才能conda資訊。
6.安裝TensorFlow-GPU
使用pip 命令,網速不好,耐心等待。也可以直接到官網先下載好,然後本地安裝(https://pypi.org/project/tensorflow-gpu/#files)
pip install tensorflow-gpu
測試:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
出現如下log資訊,則說明環境搭建ok.
7. 為伺服器新增普通使用者
sudo useradd -m -s /bin/bash userName
sudo passwd userName #為這個使用者設定密碼
刪除使用者
sudo userdel -r userName
備註:
伺服器環境搭建jupyter可以直觀的看到資料夾資訊,如何搭建請參看下面連結:
https://blog.csdn.net/u010420283/article/details/82871367。
參考網址: