ubuntu14.04+caffe2+OpenCV3.0安裝的一些問題

好久不用Caffe了,今天要轉換個caffemodel到tensorflow,所以需要caffe的環境,原先預備pull個Docker鏡像,最後發現死活下載不下來,只好自己重新裝Caffe了,果然每次都有坑,特此記錄


步驟

不多說了,參考宇宙騎士歐老師的,博客在此
Caffe安裝博客
不過說明下,最新的caffe和tensorflow(>=1.0)都是要CUDA8以上的,低版本的大家不要裝了

問題

編譯Caffe找不到cudnn.h或者是cublas.h等錯誤

我是原先安裝過CUDA7.5和CUDA8.0的,所以我直接跳過了CUDA安裝這一步,務必保證有/usr/local/cuda

sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda

編譯OpenCV

出錯的問題非常多

問題一:ippicv_linux_*.tgz的hash值不符錯誤
解決方法:
手動下載覆蓋

wget http://www.mirrorservice.org/sites/dl.sourceforge.net/pub/sourceforge/o/op/opencvlibrary/3rdparty/ippicv/ippicv_linux_20141027.tgz

覆蓋到:
/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/ippicv_linux_20141027.tgz

問題二::make[1]: * [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all] 錯誤
解決方法:修改源碼
opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp文件中的
#if !defined ( HAVE_CUDA) || defined (CUDA_DISABLER )修改爲:
#if !defined ( HAVE_CUDA ) || defined (CUDA_DISABLER ) || (CUDART_VERSION >= 8000 )
之後make就沒問題了


考慮到最麻煩也是最有可能出問題的就是會編譯OpenCV,特此提供教程(詳細版),如果歐老師的行不通,你就看我的吧

編譯安裝OpenCV

下載OpenCV3.0

wget -c -t 10 http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.0.0/opencv-3.0.0.zip/download

解壓

unzip opencv-3.0.0
cd opencv-3.0.0

編譯

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

這個時候你的ippicv_linux_*.tgz會說hash值不符發生錯誤,解決辦法就是下載替換,上面說了

make -j8

安裝

sudo make install 
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig -v

這個時候在opencv3.0.0/lib/下就有了cv2.so文件,放入到你python的PYTHONPATH下就可以使用python-opencv了


參考博客

歐新宇的博客
sinat_28593495的博客
alanzjl的博客

發佈了105 篇原創文章 · 獲贊 123 · 訪問量 58萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章