日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

caffe学习(三):caffe开发环境安装(Ubuntu)

發(fā)布時(shí)間:2025/3/21 Ubuntu 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 caffe学习(三):caffe开发环境安装(Ubuntu) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

以前我在Windows10下搭建了caffe環(huán)境(打開鏈接),但是caffe本身并不是Windows下開發(fā)的,而是在Linux下開發(fā)的。雖然大神將caffe移植到了Windows,但與之伴隨有很多兼容性的問題,所以還是決定到Ubuntu下進(jìn)行安裝了。

嚴(yán)格意義上說,這篇文章不是教程,只是我個(gè)人安裝caffe環(huán)境的經(jīng)歷總結(jié)。caffe的安裝是出了名的麻煩,會(huì)遇到很多問題,甚至都有人收費(fèi)來給人安裝caffe。其實(shí)網(wǎng)上也有很多博客給出了安裝教程,但是很多人都只是在自己的電腦上安裝成功了而已,并沒有考慮太多,很多問題就被忽視了,導(dǎo)致按照他們教程來的人要走不少彎路。我在Ubuntu下配置caffe環(huán)境前前后后花了3天,這里分享一下安裝的經(jīng)歷和遇到的問題,希望能給其他人提供參考,少走彎路。

安裝Ubuntu和win10雙系統(tǒng)

Windows10+Ubuntu雙系統(tǒng)安裝
上面是文章鏈接,我是按照這篇文章進(jìn)行安裝的。只要按照步驟來是能成功的。

注意:

  • 按照文章中的步驟,對(duì)硬盤分卷進(jìn)行管理,壓縮出空余空間,一般60G的空閑空間足夠了,如果還是怕不夠,可以分出100G空間。

  • BIOS啟動(dòng)一般是F1、F2、F12、DEL、Esc等鍵。我的是F2,我使用的是華碩筆記本。如果不知道自己電腦的啟動(dòng)熱鍵就百度,多試試,總會(huì)試出來。

  • 安裝Ubuntu時(shí)是從U盤啟動(dòng)進(jìn)行安裝的,所以還需要自己準(zhǔn)備一個(gè)U盤,根據(jù)那篇文章的教程使用UltraIso自己制作Ubuntu系統(tǒng)的U盤啟動(dòng)盤。一般制作完成后會(huì)占用1G多一點(diǎn),使用2G的U盤就足夠,我使用的是16G的U盤,只要容量夠就行。

CUDA安裝

ubuntu14.04+cuda7.5安裝 官方步驟版
上面是文章鏈接,我主要參照這篇文章安裝cuda。我使用的是nvidia官網(wǎng)上最新的cuda8.0版本,跟教程的cuda7.5版本沒有區(qū)別,注意把7.5替換成8.0就行。

注意:

  • cuda的安裝可以說是最蛋疼的了,有兩種安裝方式:run方式和deb方式。我最初是使用書上推薦的deb進(jìn)行安裝,很多網(wǎng)上的教程也是這么說的,但事實(shí)上,deb方式是很坑的,因?yàn)榘惭b后重啟會(huì)發(fā)現(xiàn)無法啟動(dòng)圖形界面,一直黑屏。所以推薦run方式安裝,雖然會(huì)比deb方式麻煩點(diǎn),但也總比一直黑屏好吧(⊙﹏⊙)。按照這篇教程的步驟一步一步來,驗(yàn)證是OK的。

具體根源是 Deb 默認(rèn)將 intel 集顯的 openGL lib 給覆蓋了,導(dǎo)致 GUI 出現(xiàn)問題。
詳細(xì)理由請(qǐng)查看這篇博客:Ubuntu 14.04 安裝 CUDA 問題及解決

  • 安裝cuda驅(qū)動(dòng)時(shí)需要禁用nouveau。nouveau是專門為NVIDIA建立的免費(fèi)自由的開源驅(qū)動(dòng)項(xiàng)目。安裝時(shí)會(huì)與cuda產(chǎn)生沖突,所以必須禁用。前面給出的文章中給出了禁用nouveau的方法,這里不做贅述。

  • 一旦禁用了nouveau,Ubuntu的圖形界面就不再可用。我們需要切換到命令行模式輸入指令:alt+ctrl+f1即可。而alt+ctrl+f7則是切換到圖形界面,當(dāng)顯卡驅(qū)動(dòng)被禁止時(shí),只能看到左上角有一個(gè)光標(biāo)閃爍。

安裝cuDNN

2015.08.17 Ubuntu 14.04+cuda 7.5+caffe安裝配置
cuDNN的安裝較為容易些,坑也少一些。我主要參考了這篇文章中的cuDNN的部分進(jìn)行安裝。

注意:

  • cuDNN需要到官網(wǎng)注冊(cè)賬號(hào)下載,如果嫌麻煩的話,可以自行百度搜索相關(guān)資源進(jìn)行下載。我自己在網(wǎng)上找到的一個(gè)下載鏈接:cudnn-7.5-linux-x64-v5.0

安裝BLAS(基本線性代數(shù)子庫)

Caffe支持三種AtLas:MKL、AtLas、OpenBlas。
MKL是限制公開的,AtLas和OpenBlas則是完全免費(fèi)的。
我選擇安裝了AtLas,安裝指令如下:

sudo apt-get install libatlas-base-dev

如果想安裝OpenBlas,安裝指令如下:

sudo apt-get install libopenblas-dev

安裝OpenCV

Caffe編譯也用到了OpenCV,實(shí)現(xiàn)配置好OpenCV環(huán)境。
OpenCV2.4.x的幾個(gè)版本貌似都行,我用的是OpenCV2.4.9,其他的也沒有嘗試。如果用的是OpenCV3,需要修改Caffe的Makefile.config文件,這里先不管。
Ubuntu opencv 多版本管理
上面這篇文章介紹了安裝OpenCV的過程和可能出現(xiàn)的問題。跟著走基本就OK了,遇到問題百度就行了,最后都有解決辦法的,下面我列出我碰到的幾個(gè)問題:

錯(cuò)誤1:

nvcc fatal : Unsupported gpu architecture 'compute_11' CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:206 (message): Error generating /home/smie/Documents/opencv2.4.11/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_gene rated_matrix_operations.cu.o make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] Error 1 make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....

解決辦法:指明GPU的架構(gòu),一般的都為開普勒架構(gòu)。也就是在cmake 命令添加:CUDA_GENERATION=Kepler。

錯(cuò)誤2:

/home/ros05/opencv2.4.8/opencv/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(133): error: a storage class is not allowed in an explicit specialization31 errors detected in the compilation of "/tmp/tmpxft_00005a7c_00000000-9_NCVPyramid.compute_35.cpp1.ii". CMake Error at cuda_compile_generated_NCVPyramid.cu.o.cmake:266 (message):Error generating file/home/ros05/opencv2.4.8/release/modules/gpu/CMakeFiles/cuda_compile.dir/src/nvidia/core/./cuda_compile_generated_NCVPyramid.cu.omake[2]: *** [modules/gpu/CMakeFiles/cuda_compile.dir/src/nvidia/core/./cuda_compile_generated_NCVPyramid.cu.o] Error 1 make[2]: *** Waiting for unfinished jobs.... [ 71%] Built target opencv_perf_ocl [ 74%] Built target opencv_test_ocl make[1]: *** [modules/gpu/CMakeFiles/opencv_gpu.dir/all] Error 2 make: *** [all] Error 2

需要使用下載NCVPixelOperations.hpp(下載鏈接)替換掉opencv2.4.9內(nèi)的文件, 重新build。
NCVPixelOperations.hpp所在目錄為:

(編譯OpenCV的路徑)/modules/gpu/src/nvidia/core

錯(cuò)誤3:
摘自:cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared
他的是OpenCV3,我的是OpenCV2也碰到了這個(gè)問題,該解決方法可以通用。

/home/usrname/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declaredtypedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppStat^ /home/usrname/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp:135:18: error: ‘NppiGraphcutState’ does not name a typeoperator NppiGraphcutState*()^ /home/usrname/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp:141:9: error: ‘NppiGraphcutState’ does not name a typeNppiGraphcutState* pState;

解決方案:需要修改一處源碼:
在graphcuts.cpp中將

if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改為

if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

——————————————- 2017.8.14日補(bǔ)充——————————————-
這次我重新編譯了opencv3.0的源碼,基本步驟和前面一樣,也是下載源碼然后解壓編譯。

mkdir release cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX= /usr/local/ -D WITH_IPP=OFF ../ make -j12 make install

基本跟安裝opencv2的過程一樣,但是這次我遇到了新的報(bào)錯(cuò):

/usr/bin/cmake: /home/xhb/anaconda2/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)

這個(gè)只是節(jié)選的一句,編譯時(shí)彈出了很多類似的報(bào)錯(cuò)信息,都是說anaconda的libcurl.so.4,這個(gè)庫有沖突。查閱資料發(fā)現(xiàn)了原因:(參考博客)

我自己手動(dòng)添加了anaconda的庫進(jìn)去

打開.bashrc,找到anaconda添加環(huán)境變量的地方:

# added by Anaconda2 4.4.0 installer export PATH="/home/xhb/anaconda2/bin:$PATH" # export LD_LIBRARY_PATH="/home/xhb/anaconda2/lib:$LD_LIBRARY_PATH"

上面第一行是anaconda默認(rèn)添加的,下面那行被注釋的是我自己手動(dòng)添加的。編譯opencv時(shí)不能加入這個(gè)庫,否則會(huì)產(chǎn)生沖突,有不可預(yù)料的后果,也許能編譯下去也許會(huì)出錯(cuò)。
所以要將其注釋掉。
由于安裝其他軟件時(shí)用到了anaconda的庫,所以我添加了進(jìn)去,而以前安裝opencv時(shí),也沒注意。
只要注釋了那行就行了,只使用anaconda默認(rèn)添加的環(huán)境變量即可。


安裝anaconda

關(guān)于Python環(huán)境的配置,安裝anaconda是很快捷的解決辦法。自帶了各種python包,以及spyder等工具,十分方便。下面是配置anaconda的博客:
linux 下安裝anaconda

注意:

  • anaconda2和3都行,我直接選擇了anaconda2版本的。
  • anaconda可以到官網(wǎng)下載,但是網(wǎng)速巨慢;一個(gè)比較方便的下載方法是到清華開源鏡像站下載,自行百度即可。

編譯caffe源碼

2015.08.17 Ubuntu 14.04+cuda 7.5+caffe安裝配置
根據(jù)上面這篇文章中caffe安裝的部分進(jìn)行操作。
注意:

  • 我們需要去github下載caffe源碼包,git的速度有點(diǎn)慢,所以等了挺久才下載完畢。
  • 按照教程中還需要另外安裝python依賴庫。
    進(jìn)入caffe-master下的python目錄,執(zhí)行命令:
for req in $(cat requirements.txt); do pip install $req; done
  • 安裝開發(fā)所需的依賴包:
    Google Logging Library(glog)(下載地址)
tar zxvf glog-0.3.3.tar.gz ./configure make sudo make install
  • 其他依賴項(xiàng),確保都成功
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
  • 配置好依賴包之后,按照教程來就行了。我在編譯時(shí)遇到的幾個(gè)錯(cuò)誤:

錯(cuò)誤1:

error while loading shared libraries: libcudart.so.5.5: cannot open shared object file: No such file or directory

根據(jù)自己電腦的操作系統(tǒng)是32位還是64位,輸入如下指令:
32-bit:

sudo ldconfig /usr/local/cuda/lib

64-bit:

sudo ldconfig /usr/local/cuda/lib64

重新編譯,應(yīng)該就能通過了。

pycaffe配置

pycaffe安裝與路徑配置
上面這篇文章介紹了pycaffe的安裝配置。根據(jù)教程,一般就行了。

另外pycaffe安裝過程中我還遇到下面幾個(gè)問題:
錯(cuò)誤1:

Error: libcudart.so.7.5: cannot open shared object file: No such file or directory

解決方案:博客鏈接

錯(cuò)誤2:

CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp python/caffe/_caffe.cpp:1:52: fatal error: Python.h: No suchfile or directory#include //NOLINT(build/include_alpha)^ compilation terminated. make: *** [python/caffe/_caffe.so] Error 1

找不到python.h文件,其實(shí)是caffe的Makefile.config中anaconda路徑不對(duì),也就是Python路徑。
我從這個(gè)網(wǎng)頁中找到了解決方法:make pycaffe fatal error: ‘Python.h’ file not found


我在~/.bashrc的最后添加了python的路徑:
因?yàn)槲沂褂昧薬naconda2,所以指定的是anaconda2的python的路徑。
還有一點(diǎn),填入的路徑可以自己cd進(jìn)去看看有沒有,如果是空的,指定了也沒用。

export CPLUS_INCLUDE_PATH=/home/(填自己的用戶名)/anaconda2/include/python2.7/:$CPLUS_INCLUDE_PATHort

如果你沒有使用anaconda,就輸入:

CPLUS_INCLUDE_PATH=/usr/include/python2.7:$CPLUS_INCLUDE_PATH 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的caffe学习(三):caffe开发环境安装(Ubuntu)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。