1. 程式人生 > 實用技巧 >ubuntu18.04安裝cuda10.2+pytorch

ubuntu18.04安裝cuda10.2+pytorch

最近申請了伺服器,需要自己去搭建環境,所以在此記錄下自己的辛酸搭建歷史,也為了以後自己不走彎路。話不多說直接搬運,因為我也是用的別人的方法,一路走下來很順暢。

1.Anaconda的安裝

在伺服器上裝py環境,根據網上找到的一些部落格建議,首先裝anaconda,我目前個人理解像是一個環境管理工具,在上面怎麼玩也不怕崩,方便重來。安裝特別簡單,官網下載或者隨便怎麼搞到安裝包,然後
bash 安裝包路徑/安裝包名.sh

安裝過程一路yes就好了,最後我看網上說anaconda會自動將環境變數新增到PATH裡面,但我輸入conda後提示沒有該命令,所以還要自己手動加入環境變數。編輯 ~/.basrc ,在最後面加上
export PATH=/home/你的使用者名稱/anaconda3/bin:$PATH


預設路徑是這個,具體可以根據你的安裝目錄改
修改完
source ~/.bashrc
更新下環境變數就沒問題了。然後是現在我用到的一些簡單的語句

檢視環境
conda env list
建立環境(以py3.7為例)
conda create -n python37 python=3.7
進入環境
source activate python37
離開環境

source deactivate

然後一些管理包的操作和pip很像就不列舉了,這裡碰到個坑,在用fish shell的時候,怎麼都不能進入環境,當然還以為是自己anaconda又裝崩了,然後網上搜了搜知道了,由於設計、實現的種種原因,fish 並不支援某些其它 shell (例如 bash) 支援的特性,大概就是一些命令在fish下使用會失敗,大部分都是基於bash的,所以還是安裝一些東西的時候還是別用fish吧!!

CUDA10.2安裝

其實實驗室的伺服器上是有cuda10.0的,但是pyg只支援cuda9.2,10.1和10.2,試了各種方法10.0都不行,因此沒辦法只能裝10.2.伺服器你懂的,不能直接升級cuda,因此相當於得裝兩個版本的cuda,然後自行切換,不影響其他人。
啊對了,有個坑的地方nvidia-smi顯示的cuda version是驅動支援的最高版本,nvcc --version才是目前的cuda版本(我這邊用的命令列是 nvcc --V)

安裝包直接在官網下載就行,很方便可以幫忙做配置選擇,不用自己再去查
我選擇的是用run方法安裝,參考圖如下


然後直接在你的終端敲程式碼就完事了,當然也可以自行下載,個人還是覺得敲程式碼方便多,cv就完事了!

具體的安裝步驟參考了大佬的一篇部落格,非常詳細了,ubuntu 安裝多個CUDA版本並可以隨時切換
我說幾個不一樣的地方,我的安裝包是這樣的安裝形式

PS:當初搞的時候忘了截圖,搞完才想起來要寫一篇總結,所以用的別人的圖,但過程基本一樣。
然後敲accept

X表示被選中,按enter就是取消,上圖下放已經說明
在已經有cuda10.0的情況下什麼都不改直接安裝的話,會報錯
大概就是已經有一個驅動了,繼續安裝不是更新驅動,而且再裝一個(迷惑操作),所以會報錯。
然後根據大佬部落格,有這幾個地方需要改(已經有cuda版本的基礎上)
取消驅動安裝

取消連線(在CUDA Toolkit按A進入高階選項)

安裝路徑貌似無所謂,我沒改,介意的話可以改到自己目錄下 ,預設是 /usr/loacl/下
然後就是install就好了
PS:安裝目錄建議記住,我當時忘記記安裝目錄,所以後面搞版本控制有點麻煩

CUDA版本切換

安裝後cuda後,我沒用大佬部落格中的方法,因為我感覺會影響到其他人正常使用,我直接改了自己的環境變數,還是編輯 ~/.basrc ,在最後面加上

export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-10.2

PyTorch

pytorch的安裝就很簡單了,通過pyg已經知道只支援1.4.0和1.5.0/1.5.1版本,1.4.0官網又顯示不支援cuda10.2,那麼選項基本就唯一了,在之前anaconda的建立的py環境下
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch

參考連結:
https://blog.csdn.net/qq_39128349/article/details/107721533