好久不用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了
參考博客