一、安裝anaconda
anaconda安裝簡單,只要確定自己的系統即可,具體安裝請參考這里
二、確定自己的系統版本
我的是centos
cat /etc/redhat-release
查看linux系統方法:
# 方法一 cat /proc/version # 方法二 lsb_release -a # 方法三 cat /etc/issue # 方法四 cat /etc/redhat-release
三、確定自己的CUDA版本
什么是cuda:
CUDA(ComputeUnified Device Architecture),是顯卡廠商NVIDIA推出的運算平台。 CUDA是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題
簡單說強大的芯片如果只是作為顯卡就太浪費了,因此N卡廠商推出CUDA,讓顯卡可以用於圖像計算以外的目的
什么是cudnn:(注意:CUDA和CuDNN一般都是結伴而行,如果需要CUDA,必然會需要CuDNN)
下載地址:注意這里需要注冊才能下載,我用qq郵箱,密碼首字母大寫
CUDA看作是一個工作台,上面配有很多工具,如錘子、螺絲刀等。cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。它就相當於工作的工具,比如它就是個扳手
但是CUDA這個工作台買來的時候,並沒有送扳手。想要在CUDA上運行深度神經網絡,就要安裝cuDNN,就像你想要擰個螺帽就要把扳手買回來。這樣才能使GPU進行深度神經網絡的工作,工作速度相較CPU快很多
cudnn下載解壓后cuda目錄下有下面內容:
修改權限:
sudo cp include/cudnn.h /usr/local/cuda/include sudo cp lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
Centos7安裝NVIDIA顯卡驅動和CUDA10.1(以10.1為例):
先查看自己的linux上顯卡型號:
lspci | grep -i nvidia
可見我的顯卡杠杠滴
顯卡驅動下載:(下載與自己顯卡型號一致的驅動)
注意:在安裝顯卡驅動的時候如果報錯
ERROR: An NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel. This may be because it is in use (for example, by the X server), but may also happen if your kernel was configured
我們需要查看是否有程序占用(如果存在占用,請停掉該程序)
lsof | grep nvidia.uvm
當然顯卡驅動也可以這樣安裝:(推薦)
sudo yum install nvidia-detect # 安裝檢查顯卡的程序 nvidia-detect -v # 查看需要的顯卡驅動型號 yum -y install kmod-nvidia # 安裝驅動
卸載驅動:
sudo yum remove kmod-nvidia
如果通過官網下載驅動安裝時找不到kernel,通過下面的方式安裝驅動(確保kernel已經安裝)
sudo ./NVIDIA-Linux-x86_64-430.40.run --kernel-source-path=/usr/src/kernels/3.10.0-514.el7.x86_64
檢查linux是否安裝了GPU
lspci | grep -i nvidia
安裝 cuda 的時候,會詢問是否安裝顯卡驅動,說明 cuda 安裝程序里包含了的顯卡驅動;建議先不要安裝 cuda 里的顯卡驅動,待安裝完 cuda 后,執行例子程序,如果報錯再檢查顯卡驅動是否正確,避免覆蓋原來的顯卡驅動
安裝gcc、g++編譯器:先查看是否已經安裝(gcc -v)
yum install gcc yum install g++
安裝kernel-devel和kernel-headers:
yum install kernel-devel yum install kernel-headers
注意這里的kernel要和自己的linux系統版本一致:可以使用uname -r查看自己的系統版本
uname -r #3.10.0-514.el7.x86_64
有時候直接yum安裝的版本比較新,導致顯卡驅動安裝失敗
sudo yum remove kernel-devel # 卸載新的 sudo rpm -i kernel-devel-3.10.0-514.el7.x86_64.rpm #下載安裝適合的版本
編輯grub文件
vim /etc/default/grub
在GRUB_CMDLINE_LINUX
中的末尾(注意要包含在引號內)添加/rd.driver.blacklist=nouveau nouveau.modeset=0
隨后生成配置:
grub2-mkconfig -o /boot/grub2/grub.cfg
禁用nouveau:將blacklist nvidiafb注釋掉,並添加如下內容,禁用的原因點擊這里
blacklist nouveau
options nouveau modeset=0
更新配置並重啟:
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak sudo dracut /boot/initramfs-$(uname -r).img $(uname -r) reboot
重啟后確認禁用了nouveau:
lsmod | grep nouveau # 沒有內容輸出表示禁用成功
賦予權限並安裝驅動和CUDA-10.0:
./NNVIDIA-Linux-x86_64-430.50.run ./cuda_10.1.243_418.87.00_linux.run
查看安裝結果
nvidia-smi
顯卡驅動和cuda安裝成功后,就可以用conda install 來安裝python包了(注意:虛擬機無法調用GPU,即使所有的環境配置好,代碼依然會報:all cuda 忙或者不可用的錯誤)
推薦搭建使用docker來安裝深度學習環境,方便部署
總結:大家可以參考這個來安裝深度學習框架
接下來安裝pytorch-gpu:
conda create --name pytorch_gpu python=3.6.10 source activate pytorch_gpu conda install pytorch torchvision cudatoolkit=10.1