? ?本文是關于ubuntu14.04+CUDA7.5+cuDNN+caffe的超詳細完整配置過程的說明。
? ? 小菜是剛接觸深度學習領域的小白,在配置caffe的過程中遇到很多困難,一度糾結崩潰甚至想放棄,但是最終配置成功,看著Demo運行,還是非常有成就感和愉悅感的。也更加堅定了遇到問題時要堅持不懈,最終會解決的信念。在此寫下博客,記錄下安裝、學習過程。如果小伙伴們能再此找到解決問題之道,那更是對本人文章莫大的肯定。歡迎大家批評指正^.^
首先說一下電腦配置和用到的軟硬件的版本。
電腦型號:B5400
CPU:c4200M
ubuntu cuda安裝。顯卡:集成顯卡Inite+獨立顯卡Nvidia820M
操作系統:Ubuntu14.04(內核版本3.13!)
各個軟件版本:
gcc:4.8.2,
CUDA7.5,caffe,cuDNN,OpenCV,Python2.7,
? ? 正文之前先說一下個人感觸:本人在裝軟件之前,只知道有caffe這么個深度學習的框架,對Linx系統,配置文件,命令行啥的一竅不通(沒辦法,本科欠下太多的東西,都要還的......)。開始照搬網上的方法,一通亂搞,最后可想而知以失敗告終,于是慢慢熟悉每一個細節,耐心搞懂每一個語法,每個軟件的作用,參考了官方的文檔和官方說明。在這一過程中,有兩點的感觸最深:1.一定要注意版本問題(血淚教訓);2.一定要多研究官方文檔,說明!
Ubuntu 21.10?a)檢查GPU是否是CUDA-capable
?? ?$ lspci | grep -i nvidia
?? ?官網查看是否在列表中,并注意camput ability
b)檢查自己的Linux版本書否支持CUDA(Ubuntu 14.04沒問題)
c)檢查自己的系統中是否裝了gcc
?? ?$ gcc --version
d)檢查是否安裝了kernel header和 package development
?? ?$ uname -r 可以查看自己的kernel版本信息
?? ?$ sudo apt-get install linux-headers-$(uname -r)可以安裝對應kernel版本的kernel header和package development
CUDA提供兩種安裝方式:package manager安裝和runfile安裝。我本來選的是 package manager 安裝,這種方法相對簡單,但嘗試了幾次都失敗。后來是轉換到runfile安裝才成功的。因此此處只介紹runfile安裝方式。
a) 禁用 nouveau
?? ?終端中運行:$ lsmod | grep nouveau,如果有輸出則代表nouveau正在加載。
?? ?Ubuntu的nouveau禁用方法:在/etc/modprobe.d中創建文件blacklist-nouveau.conf,在文件中輸入一下內容
?? ??? ?blacklist nouveau? #第一個配置文件
?? ??? ?options nouveau modeset=0 ?
?? ?打開終端,運行
?? ??? ?$ sudo update-initramfs -u
?? ?設置完畢可以再次運行 $ lsmod | grep nouveau 檢查是否禁用成功,如果運行后沒有任何輸出,則代表禁用成功。
b)安裝依賴項
1. sudo apt-get install freeglut3-dev
2. sudo apt-get install build-essential
3. sudo apt-get install libx11-dev
4. sudo apt-get install libxmu-dev
5. sudo apt-get install libxi-dev
6. sudo apt-get install libgl1-mesa-glx
7. sudo apt-get install libglu1-mesa
8. sudo apt-get install libglu1-mesa-dev
重啟電腦,到達登錄界面時,alt+ctrl+f1,進入text mode,登錄賬戶
c) 輸入 $ sudo service lightdm stop 關閉圖形化界面
d) 切換到cuda安裝文件的路徑,運行$ sudo sh cuda_7.5.18_linux.run
?? ?遇到提示是否安裝openGL ,選擇no(如果你的電腦跟我一樣是雙顯,且主顯是非NVIDIA的GPU需要選擇no,否則可以yes)。其他都選擇yes或者默認。安裝成功后,會顯示installed,否則會顯示failed。
e) 輸入 $ sudo service lightdm start 重新啟動圖形化界面
Alt + ctrl +F7,返回到圖形化登錄界面,輸入密碼登錄。
如果能夠成功登錄,則表示不會遇到循環登錄的問題,基本說明CUDA的安裝成功了。
f)重啟電腦。檢查Device Node Verification。
?? ?檢查路徑~/dev下 有無存在名為nvidia*(以nvidia開頭)的多個文件(device files).如果沒有的話,可以參考官方文檔里的指導步驟,進行添加。
g)設置環境變量。
?? ?終端中輸入 $ sudo gedit /etc/profile? 在打開的文件末尾,添加以下兩行。 #第二個配置文件
?? ??? ?$ export PATH=/usr/local/cuda-7.5/bin:$PATH
?? ??? ?$ export LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64
保存文件。
a) 檢查 NVIDIA Driver是否安裝成功
終端輸入 :$ cat /proc/driver/nvidia/version 會輸出NVIDIA Driver的版本號
b) 檢查 CUDA Toolkit是否安裝成功
終端輸入 : $ nvcc --version 會輸出CUDA的版本信息
c) 嘗試編譯cuda提供的例子
切換到例子存放的路徑,默認路徑是 ~/NVIDIA_CUDA-7.5_Samples
(即 /home/xxx/ NVIDIA_CUDA-7.5_Samples, xxx是你自己的用戶名)
然后終端輸入:$ make
d) 運行編譯生成的二進制文件。
編譯后的二進制文件 默認存放在~/NVIDIA_CUDA-7.5_Samples/bin中。
切換路徑 : cd ~/NVIDIA_CUDA-7.5_Samples/bin
終端輸入 :$ deviceQuery
看到類似如下圖片中的顯示,則代表CUDA安裝且配置成功(congratulation!!)
# sudo git clone https://github.com/BVLC/caffe.git
# sudo apt-get install libatlas-base-dev
# sudo apt-get install libprotobuf-dev
# sudo apt-get install libleveldb-dev
# sudo apt-get install libsnappy-dev
# sudo apt-get install libopencv-dev
# sudo apt-get install libboost-all-dev
# sudo apt-get install libhdf5-serial-dev
# sudo apt-get install libgflags-dev
# sudo apt-get install libgoogle-glog-dev
# sudo apt-get install liblmdb-dev
# sudo apt-get install protobuf-compiler
# cd caffe
# sudo git clone https://github.com/jayrambhia/Install-OpenCV
# cd Install-OpenCV/Ubuntu
# sudo sh dependencies.sh
# cd 2.4
# sudo sh opencv2_4_10.sh
ubuntu14、# cd ~/caffe
# sudo cp Makefile.config.example Makefile.config
# make all
caffe運行時需要調用cuda的庫,我們在/etc/ld.so.conf.d目錄下新建一個cafe.conf文件,將所需要用的庫的目錄寫入.
# sudo vi /etc/ld.so.conf.d/caffe.conf
添加內容:
?? ?/usr/local/cuda/lib64 # 修改的配置文件
保存退出(:wq!)
更新配置
# sudo ldconfig
# cd ~/caffe
# sudo sh data/mnist/get_mnist.sh
# sudo sh examples/mnist/create_mnist.sh
# sudo sh examples/mnist/train_lenet.sh
a).下載
b).在終端執行(2.7版本):
?? ?# bash Anaconda2-2.4.1-Linux-x86_64.sh
c).安裝路徑默認 /home/lx/anaconda2
d).環境變量默認 PATH in your /home/lx/.bashrc ? [yes|no]? #yes就好
安裝完成!
首先,將caffe根目錄下的python文件夾加入到環境變量
打開配置文件bashrc
?? ?# sudo vi ~/.bashrc?? #
在最后面加入
?? ?export PYTHONPATH=/home/xxx/caffe/python:$PYTHONPATH
注意 /home/xxx/caffe/python 是我的路徑,這個地方每個人都不同,需要修改
保存退出,更新配置文件
?? ?# sudo ldconfig
ubuntu20.4,?? ?# sudo make pycaffe
?? ?# sudo make test -j4
?? ?# sudo make runtest -j4
(也許你在編譯runtest的時候,會報這樣的錯誤:
.build_release/test/test_all.testbin: error while loading shared libraries: libhdf5.so.10: cannot open shared object file: No such file or directory
這是因為 libhdf5.so的版本問題,你可以進入/usr/lib/x86_64-linux-gnu看一下,你的libhdf5.so.x中的那個x是多少,比如我的是libhdf5.so.7
因此可以執行下面幾行代碼解決:
# cd /usr/lib/x86_64-linux-gnu
# sudo ln -s libhdf5.so.7 libhdf5.so.10
# sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.10
# sudo ldconfig
)
?? ?進入python環境,進行import操作
?? ?# python
?? ?>>> import caffe? #(遇到了問題)
?? ??? ??? ?$ sudo gedit /etc/profile # 末尾添加: export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
?? ??? ??? ?最后解決方法:sudo chmod 777 -R? anaconda2(文件夾) 改變權限 然后conda install protobuf
? 如果沒有提示錯誤,則編譯成功。
? 如果安裝了anaconda, jupyter notebook就已經自動裝好,不需要再安裝
? 運行notebook
?? ?# jupyter notebook
?? ?就會在瀏覽器中打開notebook,? 點擊右上角的New-python2, 就可以新建一個網頁一樣的文件,擴展名為ipynb。
?? ?在這個網頁上,我們就可以像在命令行下面一樣運行python代碼了。
?? ?輸入代碼后,按 '''shift+enter運行''',更多的快捷鍵,可點擊上方的help-Keyboard shortcuts查看,或者先按esc退出編輯狀態,再按h鍵查看。
?? ?# sudo apt-get install GraphViz
?? ??? ?注意,這里用的是apt-get來安裝,而不是pip.
?? ?# sudo pip install pydot
?? ??? ?用的是pip來安裝,而不是apt-get
ubuntu20.04安裝cuda,如果前面的沒有題,環境變量沒有配置錯誤,這一步問題不大。
修改環境變量的時候要慎重小心,知道具體含義。或者做下記錄。
#########
解決辦法:
?? ?1.要把opencv編譯出來的cv2.so (/build/lib下)拷貝到anaconda2的lib目錄下
?? ?2.export PYTHONPATH=/home/lx/caffe/python:/home/lx/anaconda2/lib:$PYTHONPATH
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态