昨天的剛接觸服務器,今天就可以跑模型了,還挺爽的。
- 系統:本地windows,服務器 Centos7 ,64位
- 安裝包:MobaXterm,cuda9.0,cudnn,Anaconda(資源下載鏈接:https://pan.baidu.com/s/16YbybsV3jTjKDm48tcVg4A
提取碼:ng64 )
1.安裝MobaXterm
(是自己電腦與服務器遠程連接的可視化軟件,操作簡單),具體看安裝使用教程(試了3種 MobaXterm ,Xshell ,WinSCP, 最後發現MobaXterm好用)。 以下幾步操作參考這篇博客【在服務器上安裝tensorflow-gpu版本及其使用】
2.安裝cuda9.0
(一定是要9.0版本,9.2,10.0都是坑,親測無效!)去我的資源下載cuda9.0,(也可自行下載,參見上面博客)上傳至服務器任意位置,然後使用cd到該目錄下
cd /your/save/path
運行命令:
sh cuda_9.0.176_384.81_linux-run
如圖所示
安裝過程中剛開始會出現一大堆類似文檔的東西,瘋狂空格就行
- Do you accept the previously read EULA?
- accept/decline/quit: accept(沒什麼好說的了直接敲accept)
- Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 396.26? 這裏是說是否安裝顯卡驅動,一定要選no!
- Do you want to install the OpenGL libraries? 這是nvidia自己的opencv 沒有用的,要用就用直接的opencv官網安裝也很簡單,所以這n
- Install the CUDA 9.2 Toolkit? 是否安裝,當然yes
- Enter Toolkit Location
- default is /usr/local/cuda-9.2 : 這個一定不要用默認的,因爲沒有su權限,目錄選到自己home下 例如:/home/wushuai/
配置環境變量:找到.bashrc文件,在最後一行添加
export PATH=/your cuda installation path/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/your cuda installation path/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/your cuda installation path/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your cuda installation path/extras/CUPTI/lib64
保存即可。(如果找不到.bashrc文件應該是被隱藏了,返回你登錄時的目錄下點一下這個圖標就可以,ps:“your conda installation path”,就是到conda這個文件夾,“/your/save/path”等是指要你改成你的路徑,我曾經看到有人沒改直接就輸入了。。。)
3.安裝cudnn
查看所需cudnn版本,
cat /your cuda installation path/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如圖我的CuDNN版本爲7.3.1,如果你的也是7.3.1去我的資源下載即可,否則自己去官網下載適合自己的版本。
安裝cudnn比較簡單,簡單地說,將cudnn上傳到和cuda同一個目錄下。這樣解壓時,不用自己操作即可將cudnn文件複製到cuda文件夾中。然後複製幾個文件:庫文件和頭文件。將cudnn的頭文件複製到cuda安裝路徑的include路徑下,將cudnn的庫文件複製到cuda安裝路徑的lib64路徑下。具體操作如下
#解壓文件
tar -xzvf cudnn-9.0-linux-x64-v7.3.1.20.tgz
#切換到剛剛解壓出來的文件夾路徑
cd cuda
#複製include裏的頭文件(記得轉到include文件裏執行下面命令)
sudo cp /include/cudnn.h /usr/local/cuda/include/
#複製lib64下的lib文件到cuda安裝路徑下的lib64(記得轉到lib64文件裏執行下面命令)
sudo cp lib* /usr/local/cuda/lib64/
#設置權限
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
#======更新軟連接======
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #刪除原有動態文件,版本號注意變化,可在cudnn的lib64文件夾中查看
sudo ln -s libcudnn.so.7.3.1 libcudnn.so.7 #生成軟銜接(注意這裏要和自己下載的cudnn版本對應,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.7 libcudnn.so #生成軟鏈接
sudo ldconfig -v #立刻生效
cudnn安裝完畢
4.安裝anacanda3,去我的資源下載anacanda或者去鏡像(推薦清華鏡像)(官網下載的最新版本有坑,慎重,推薦python版本爲3.6的anacanda3,我安裝的是anacanda3-5.3.0),然後上傳至服務器任意位置,然後cd到該目錄下
cd /your/save/path
運行命令:
sh Anaconda3-5.3.0-Linux-x86_64.sh
配置環境變量,找到.bashrc文件,在最後一行添加export PATH="/your anaconda installation path/bin:$PATH",保存即可。
5.安裝tensorflow-gpu,輸入命令:
pip install tensorflow-gpu
驗證是否安裝成功:
進入python(輸入python即可)
輸入如下代碼
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
下方有大段顯示GPU信息表示安裝成功
至此大功告成!!!
另外有幾點注意:
1.我參考的那篇博客用虛擬環境裝的tensorflow,其實用不用都行,我都試了。激活環境,我沒有切換鏡像,網速慢是個大問題,昨晚到11.30一直下載包失敗,重複好多次,今早七點就起了,重新執行激活環境的命令,網速很快,一會就好了
2.安裝tensorflow-gpu不成功,可能沒指定版本,結果安裝最新的,與cuda版本不配,然後又百度與cuda和cudnn版本對應的tensorflow-gpu版本,重新下載,就成功了。
3.總結一下,成功前提是服務器權限開放,成功經驗是多問問實驗室有經驗的+找靠譜博客