Linux服務器安裝pytorch的超詳細流程

基本的環境

  1. 首先了解本身服務器的操做系統內核版本等信息:
    1. 查看本身操做系統的版本信息:cat /etc/issue 或者是 cat /etc/lsb-release 等命令 html

    2. 查看服務器顯卡信息:python

      1. lspci | grep -i nvidia 查看所有顯卡信息。
      2. nvidia-smi 若是已經安裝了對應的顯卡驅動的話能夠採用這個命令。
      3. cat /proc/driver/nvidia/version 查看安裝的顯卡的驅動信息。

      顯卡驅動的安裝須要根據操做系統的版本進行選擇。

多版本的gcc 和g++

gccg++是不少驅動安裝過程當中須要使用的編譯器,不少時候因爲編譯器版本的不對應會使得安裝出現不少莫民奇妙的錯誤,根據經驗,如今的CUDA 10.1的話,也可使用的是4.8,所以最好選擇4.8-5.4之間的版本比較好,兼容一點。對於多版本的gccg++的安裝進行詳細的講解:linux

  1. 查看本身的gccg++版本:gcc --version以及 g++ --version
  2. 安裝新的或者安裝多版本的gcc以及g++的流程:
    1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test 首先加入一些更新的倉庫,以便於更新。
    2. sudo apt-get update 以及sudo apt get update 對須要的軟件包等進行必要的更新。
    3. sudo apt-get install gcc-4.9 以及sudo apt-get install g++-4.9用於安裝對應版本的gcc以及g++。注意本身須要的版本本身修改。
    4. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
      sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
      這兩行用於將剛安裝的gccg++相似於註冊的操做加入到bin中,用於可選擇操做。也就是說經過這個操做不斷向系統註冊新的gccg++版本。
    5. update-alternatives --config gcc
      update-alternatives --config g++用於對版本進行選擇。進入以後根據提示完成選擇便可。若是權限不夠加 sudo
    6. 通常咱們是使用4.8-5.4之間的版本編譯器便可。若是仍是出現錯誤的話,首選的操做應該是卸載顯卡驅動重裝顯卡驅動。這個方法的成功率最高。

驅動安裝

  若是須要安裝顯卡的話,須要先將舊版本的顯卡驅動卸載:
  sudo apt-get remove --purge nvidia*
  此外,安裝以前,須要先禁用一個東西。nouveau。
  sudo vim /etc/modprobe.d/blacklist.conf
  在文件的最後面加入如下的內容:
ubuntu

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
複製代碼

  檢查操做是否成功:lsmod | grep nouveau沒顯示即成功。
vim

  顯卡驅動的安裝比較簡單,直接到官網進行對應的驅動的下載。點我下載 bash


  注意在驅動的下載那裏,操做系統的選擇直接選擇LInux-xbit便可,這個是能夠搜索獲得的,若是選擇ubuntu16等搜不到。親測直接搜索Linux 64-bit安裝有效可用!
  將下載好的顯卡驅動上傳到服務器進行安裝。
   sudo ./NVIDIA-Linux-x86_64-430.34.run 採用該命令進行驅動的安裝。安裝完成以後,能夠採用如下命令進行檢查:
   nvidia-smi

CUDA安裝以及cudnn安裝

  CUDA是GPU進行計算的運算平臺,根據須要安裝對應版本的cuda。 服務器

這裏須要注意的是,最好在安裝顯卡驅動的時候選擇對應的 cuda版本,而後在安裝 cuda的時候的版本保持一致,雖然高版本的驅動能夠兼容低版本的 cuda

  1. 下載對應版本的cuda。cuda各個版本下載點我哦。因爲這個網站的入口比較難找,你們最好保存起來哦。
    這是我本身下載的版本。將下載的版本也上傳到服務器上進行安裝。
    sudo sh cuda_10.0.130_410.48_linux.run 安裝方式能夠百度一哈。
    安裝過程當中的選擇項:
    1. nvidia accelerated graphics driver ,n 。由於咱們已經安裝過。
    2. 其餘的都選yes。
    3. 軟鏈接的創建。注意還有一個選項是軟鏈接的創建,會在/usr/local/下面創建一個軟鏈接cuda該軟鏈接鏈接到安裝的真正的cuda-10.0的地址。軟鏈接的創建能夠用於多個版本的cuda的管理。
      如圖所示的,黃色的cuda是一個軟鏈接,紅色的是多個安裝好的CUDA修改軟鏈接就能夠修改cuda的版本。
      這是安裝完成以後的內容。安裝完成以後,採用

nvcc -V對安裝進行檢查。


若是提示沒有找到對應的命令的話,須要進行環境變量的配置。這裏咱們按照假設創建的cuda的軟鏈接的方式進行配置:
sudo vim ~/.bashrc加入如下的內容:測試

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
複製代碼

以後再使用nvidia-smi 網站

  1. 多版本的CUDA管理。其實很簡單,就是那個軟鏈接的管理,例如我須要其餘版本的cuda,因爲個人環境比變量直接指向的是一個軟鏈接,所以我能夠刪除舊的軟鏈接再創建新的軟鏈接的方式來實現不一樣版本的cuda的切換。
sudo rm -rf cuda # 刪除舊版本的軟鏈接
sudo ln -s /usr/local/cuda-9.1 /usr/local/cuda  # 創建新版本的軟鏈接,前面的路徑是須要的版本的cuda的安裝路徑。
複製代碼
  1. 安裝對應的cudnn。根據cuda版本選擇對應的cudnn進行安裝。點我進行下載
    進去以後花花綠綠的什麼鬼一大堆,若是採用安裝的方式的話,須要每一個版本的操做系統須要下載3個deb文件,就很煩。所以咱們直接下載箭頭對應的版本,改文件的後綴是cudnn-10.0-linux-x64-v7.3.0.29.solitairetheme8這種也是也是tgz。將下載來的文件進行解壓便可。
cp  cudnn-10.0-linux-x64-v7.3.0.29.solitairetheme8 cudnn-10.0-linux-x64-v7.3.0.29.tgz # 換後綴
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz  # 解壓
複製代碼

解壓以後獲得一個 cuda文件夾。採用以下的操做進行cudnn的安裝。(這時候的cudnn要直接安裝到對應的版本的cuda的真實的安裝路徑中。這樣創建軟鏈接的時候纔會讀到cudnn文件)ui

sudo cp cuda/include/cudnn.h    /usr/local/cuda-xx.x/include # 填寫對應的版本的cuda路徑
sudo cp cuda/lib64/libcudnn*    /usr/local/cuda-xx.x/lib64   # 填寫對應的版本的cuda路徑
sudo chmod a+r /usr/local/cuda-xx.xx/include/cudnn.h   /usr/local/cuda-xx.xx/lib64/libcudnn*
複製代碼

若是喜歡採用deb的安裝方式的參見

以上流程若是走下來仍是出錯的話,建議從新卸載顯卡驅動再來一次。



Anaconda瞭解和安裝

採用Anaconda進行python環境的管理是一個很高效的解決方案。從倉庫下載對應版本的軟件進行安裝。點我下載

bash Anaconda3-5.0.1-Linux-x86_64.sh 安裝。安裝過程須要贊成將安裝路徑加入到環境變量的配置文件中。 source ~.bashrc使其生效。

  1. 創建本身新的環境 conda create-n your_name python=your_version
  2. 激活新的環境 source activate your_name

Pytorch安裝

到pytorch官網下載對應版本的pytorch 便可。官網

根據生產的命令進行安裝。安裝完成以後測試:

python  # 進入python 環境
import torch  # 導入安裝的pytorch包
torch.cuda.is_available()  # 檢查cuda是否可使用
複製代碼

若是torch.cuda.is_available()若是輸出是false,那就表示前面的驅動或者cuda的安裝有問題,最可能的就是驅動。直接卸載從新安裝顯卡驅動便可解決問題。

相關文章
相關標籤/搜索