折腾了好几天,终于安装好了
主要参考了这篇博客https://blog.csdn.net/u013066730/article/details/80893495,这博客后面的安装是有问题的,具体的坑下面列出来,以后安装会好很多
1.这篇博客从开始到6.2.1没有问题,有问题在6.2.1之后
问题1
INCLUDE_DIRS和 LIBRARY_DIR的路径有问题
作者的路径有问题,如下图所是
将INCLUDE_DIRS和 LIBRARY_DIR改为:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
即(添加路径的时候看看自己的路径下有没有该文件)
参考博客:https://blog.csdn.net/VVBBBBB/article/details/81807084(该博客写了编译caffe出现的好多问题的解决方法)
# 原来
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
# 现在改成(64位系统):
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
# 或者,你是32位系统:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/i386-linux-gnu /usr/lib/i386-linux-gnu/hdf5/serial
问题2
作者的方法:
添加这行有问题,应改为
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
否则就会出现
nvcc fatal : Unknown option ‘fPIC’
参考博客:https://blog.csdn.net/u013524303/article/details/81609643
问题3 ubuntu下运行Python程序出现ImportError: No module named skimage
第一种可能是没有安装skimage或者部分依赖库没有安装:
python-skimage包依赖于matplotlib,scipy,pil,numpy和six。
首先安装依赖包:
sudo apt-get install python-matplotlib python-numpy python-pil python-scipy
sudo apt-get install build-essential cython
安装skimage包:
sudo apt-get install python-skimage
第二种可能是skimage版本需更新:
pip install scikit-image --upgrade
问题 4 Ubuntu 16.04下安装Caffe解决 undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE解决方法:
先在系统的/usr/lib/x86_64-linux-gnu/路径下查找boost_python文件的版本是否与python版本匹配,我的电脑中文件名为:
libboost_python-py35.so.1.58.0
说明版本为python3.5,匹配。若不匹配则安装对应的boost_python版本。
接下来打开Caffe文件夹下的Makefile文件,将第208行的
PYTHON_LIBRARIES := boost_python python2.7
改为
PYTHON_LIBRARIES := boost_python-py35 #py35需要改为你自己的python版本,如py34,py33
问题5 /usr/lib/libgdal.so.20: undefined symbol: sqlite3_column_table_namesql版本问题,
解决方法为 conda update sqlite
问题6 Makefile:543: recipe for target ‘runtest’ failed
参考博客https://blog.csdn.net/heiheiya/article/details/90790933
我是hdf5版本不匹配,
卸载 Anaconda方法https://blog.csdn.net/m0_37407756/article/details/77968724
重新安装,编译时最前面有警告,好像说了hdf5版本不一致
还有别的方法也贴在这里
https://blog.csdn.net/ACC6659/article/details/90272364#caffe_make_runtest_gpubug_export_CUDA_VISIBLE_DEVICES0_make_runtest__35
问题7 Caffe错误:Makefile:521: recipe for target 'python/ca
在 Makefile.config 找到 PYTHON_INCLUDE :
将
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
加一个local,变成:
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include
再次重新编译即可~
参考博客 https://www.wandouip.com/t5i175190/
https://blog.csdn.net/CAU_Ayao/article/details/88988895
先记录这么多,后面继续补充