首頁 > 軟體

Ubuntu下安裝Torch並設定CUDA和cuDNN

2020-06-16 17:38:12

總說

採用的Ubuntu是14.04, 安裝的cuda是7.5的cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64。cudnn是7.5 的, cudnn-7.5-linux-x64-v5.0-ga.tgz。
參考:連結:https://github.com/jcjohnson/neural-style/blob/master/INSTALL.md
neural-style
其實這篇已經講的很清楚怎麼安裝了,但是安裝時還是碰到了不少坑。

坑1:torch的依賴庫很多!!

curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash

執行這個時,一定會經過較長時間的安裝!!!!由於我這裡的網很差,所以如果你的也有類似的情況,那麼可能會出現:“xxx 校驗和不符”。這時說明完全沒有安裝依賴庫好吧!!我以前以為已經裝好了,直接下完neural-style,然後./install.sh。我擦,結果出現什麼cmake not found之類的。然後我還傻乎乎的去 sudo apt-get install cmake。結果又出現其他亂七八糟的,現在就是一句話:curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash是把所有的依賴庫都會安裝好!!並且安裝完之後會有類似提示:“torch dependencies have already installed.”

坑2:安裝cuda,版本不符

wget http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/rpmdeb/cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb

sudo dpkg -i cuda-repo-ubuntu1204-7-0-local_7.0-28_amd64.deb

這個理論上貌似沒錯,但是後面

sudo apt-get update
sudo apt-get install cuda

這裡用的apt-get得到的是cuda7.5的!!和上面安裝的版本不符合!所以正確方式:
自己去官網下載,然後安裝!
根據我的ubuntu版本,因此我選擇
cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb

以後如果apt-get得到的cuda版本更高了,就一定要安裝對應的版本即可!

坑3 cudnn和cuda版本一定要對應!

原文

tar -xzvf cudnn-7.0-linux-x64-v4.0-prod.tgz
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-7.0/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-7.0/include/
luarocks install cudnn

此處自己去下載for cuda7.5的,此處即為cudnn-7.5-linux-x64-v5.0-ga.tgz
當然了,把

sudo cp cuda/include/cudnn.h /usr/local/cuda-7.0/include/

的7.0改成7.5。

坑4 可能出現’libcudnn not found in library path’的情況

擷取其中一段錯誤資訊:

Please install CuDNN from https://developer.nvidia.com/cuDNN
Then make sure files named as libcudnn.so.5 or libcudnn.5.dylib are placed in your library load path (for example /usr/local/lib , or manually add a path to LD_LIBRARY_PATH)

LD_LIBRARY_PATH是該環境變數,主要用於指定查詢共用庫(動態連結庫)時除了預設路徑之外的其他路徑。由於剛才已經將
“libcudnn*”複製到了/usr/local/cuda-7.5/lib64/下面,因此需要

  1. sudo gedit /etc/ld.so.conf.d/cudnn.conf 就是新建一個conf檔案。名字隨便
  2. 加入剛才的路徑/usr/local/cuda-7.5/lib64/
  3. 反正我還新增了/usr/local/cuda-7.5/include/,這個估計不要也行。
  4. 儲存後,再sudo ldconfig來更新快取。(可能會出現libcudnn.so.5不是符號連線的問題,不過無所謂了!!)

此時執行

th neural_style.lua -gpu 0 -backend cudnn

成功了!!!!

發現用cudnn時,變成50個50個一顯示了,速度快了些。剛才但存用cuda只是1個1個顯示的。不說了,歇會兒。

總結

一定要版本對應!!以後apt-get會得到更高的版本的cuda和cudnn,這時候一定要根據實際情況下載對應版本的進行安裝。方法類似。


IT145.com E-mail:sddin#qq.com