好久不用Caffe了,今天要转换个caffemodel到tensorflow,所以需要caffe的环境,原先预备pull个Docker镜像,最后发现死活下载不下来,只好自己重新装Caffe了,果然每次都有坑,特此记录
不多说了,参考宇宙骑士欧老师的,博客在此 Caffe安装博客 不过说明下,最新的caffe和tensorflow(>=1.0)都是要CUDA8以上的,低版本的大家不要装了
我是原先安装过CUDA7.5和CUDA8.0的,所以我直接跳过了CUDA安装这一步,务必保证有/usr/local/cuda
sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda
出错的问题非常多
问题一: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,特此提供教程(详细版),如果欧老师的行不通,你就看我的吧
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了
参考博客