天天看點

Ubuntu1404+caffe+cuda8.0 gpu1080安裝

這套安裝我可能裝了有不下5遍了,期間由于小白和手殘以及版本不同遇到各種各樣的問題,最終在以下流程走通

首先是相關依賴

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
           

然後是進行降級,記得原因是安裝matcaffe的時候依賴的GCC G++版本比較低,而linux自帶的高,是以要降級才能編譯

安裝GCC4.7和G++4.7并降級

  • 注意:需要聯網。

1.下載下傳并安裝gcc/g++ 4.7.x

sudo apt-get install -y gcc-4.7 sudo apt-get install -y g++-4.7

2.連結gcc/g++實作降級

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-4.7 gcc
sudo rm g++
sudo ln -s g++-4.7 g++
# 檢視是否連接配接到4.7.x
ls –al gcc g++
           

安裝顯示卡驅動 這一步真的是把我折騰的半死,安裝了N遍就是不成功

方法1.直接在系統設定的通用輔助功能裡面選擇附加驅動即可

很臉紅的說本台電腦最終驅動就是這樣裝上去的,然而由于之前在其他電腦上的安裝經驗導緻我一開始就放棄了這種方法,再嘗試了無數遍安裝包之後才抱着試試看的心态用了系統設定,沒想到就好了,吐血。 強烈推薦将這種方法作為第一種來嘗試,因為實在是很簡便。

方法2: 官方下載下傳安裝驅動的檔案,運作.sh

之前有在其他電腦上成功安裝過,然而換了主機以後主機闆和以前不一樣,好像是UEFI的差別,另外bios裡面會開啟安全啟動還是一個什麼和安全相關的東西,導緻完全裝不上去,一裝上去linux系統界面就進不去,循環在輸入使用者名和密碼界面,隻能跳去指令行把之前裝的删掉,直到關閉了BIOS裡面的那個安全選項以後才好,簡直折騰死

安裝CUDA

這個隻要按照官方指導安裝就好 下載下傳deb包

  1. `sudo dpkg -i cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.deb`
  2. `sudo apt-get update`
  3. `sudo apt-get install cuda`

安裝CUDNN

  1. tar -zxvf cudnn-7.5-linux-x64-v5.0-ga.tgz  
  2. cd cuda  
  3. sudo cp lib/lib* /usr/local/cuda/lib64/  
  4. sudo cp include/cudnn.h /usr/local/cuda/include/ 

更新軟連接配接 cd /usr/local/cuda/lib64/

sudo chmod +r libcudnn.so.5.0.5

sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5

sudo ln -sf libcudnn.so.5 libcudnn.so

sudo ldconfig

設定環境變量 在/etc/profile中添加CUDA環境變量 sudo gedit /etc/profile

  1. PATH=/usr/local/cuda/bin:$PATH  
  2. export PATH  

儲存後, 執行下列指令, 使環境變量立即生效

  1. source /etc/profile  

同時需要添加lib庫路徑: 在 /etc/ld.so.conf.d/加入檔案 cuda.conf, 内容如下

  1. /usr/local/cuda/lib64  

儲存後,執行下列指令使之立刻生效

  1. sudo ldconfig 

驅動和CUDA都安裝完成以後可以傳回caffe官方的安裝手冊繼續安裝其他的依賴了,如下:

sudo apt-get install libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
           

caffe編譯

cp Makefile.config.example Makefile.config
# Adjust Makefile.config (for example, if using Anaconda Python, or if cuDNN is desired)
make all
make test
make runtest