问题1
fatal error: pyconfig.h: 没有那个文件或目录
解决方法
A、如果使用系统默认的python路径,那么导入python3
make clean
export CPLUS_INCLUDE_PATH=/usr/include/python3.5
make all
B、如果使用Anaconda ,那么导入
make clean
export CPLUS_INCLUDE_PATH=/home/hp/anaconda3/include/python3.5m
make all
问题2
fatal error: pyconfig.h: 没有那个文件或目录
解决方法
A、如果使用系统默认的python路径,那么导入python3
make clean
export CPLUS_INCLUDE_PATH=/usr/include/python3.5
make all
B、如果使用Anaconda ,那么导入
make clean
export CPLUS_INCLUDE_PATH=/home/hp/anaconda3/include/python3.5m
make all
问题3
nvcc fatal : Unsupported gpu architecture 'compute_20’
解决方法(我自身显卡为2070super,为Turing架构,故以此为例,30系显卡可改为Ampere)
修改caffe源码中的cuda.cmake文件中的
1、第7行
set(Caffe_known_gpu_archs " 20 21(20) 30 35 60 61")
改为
set(Caffe_known_gpu_archs " 75")
2、第59行
set(__archs_names "Kepler" "Maxwell" "Pascal" "All" "Manual")
改为
set(__archs_names "Fermi" "Kepler" "Maxwell" "Pascal" "Turing" "All" "Manual")
3、并在93行下添加
elseif(${CUDA_ARCH_NAME} STREQUAL "Turing")
set(__cuda_arch_bin "75 75")
问题4
编译caffe时提示未定义的引用(undefined reference to)
解决方法
该问题是系统库中已经存在libcaffe.so文件,将该文件删除即可
cd usr/lib
sudo find libcaffe.so
sudo rm libcaffe.so*
cd ..
然后转到caffe文件夹下重新编译
cd /你的caffe地址/
make clean
make pycaffe
问题5
*编译caffe时提示./include/caffe/common.cuh(9): error: function "atomicAdd(double , double)" has already been defined
解决方法
修改include/caffe/common.cuh文件
#ifndef CAFFE_COMMON_CUH_
#define CAFFE_COMMON_CUH_
#include
#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600
#else
static __inline__ __device__ double atomicAdd(double *address, double val) {
unsigned long long int* address_as_ull = (unsigned long long int*)address;
unsigned long long int old = *address_as_ull, assumed;
if (val==0.0)
return __longlong_as_double(old);
do {
assumed = old;
old = atomicCAS(address_as_ull, assumed, __double_as_longlong(val +__longlong_as_double(assumed)));
} while (assumed != old);
return __longlong_as_double(old);
}
#endif
#endif
libmatio.so.11: cannot open shared object file: No such file or directory
问题6
编译caffe时提示ibmatio.so.11: cannot open shared object file: No such file or directory
解决方法
该问题为LD对于动态库的搜索路径寻找不到
export LD_LIBRARY_PATH=对应动态库地址(例:/home/tony/matio-1.5.21/build/)
再重新编译
make all
问题7
caffe运行时报错libmatio.so.2: cannot open shared object file: No such file or directory
解决方法
首先
cd etc/local/lib
在该路径下查找是否有这个库文件,存在则已安装,没有说明该库不存在
A、如果没有安装该库
sudo apt-get install libmatio2
luarocks install matio
B、已经安装该库,依然报错
(1)方法一
sudo gedit /etc/ld.so.conf
在最后一行添加
include /usr/local/lib
再在命令行窗口执行
ldconfig
(2)方法二
通过软件链接解决
ln -s /usr/local/lib/libmatio.so.2 /usr/lib/libmatio.so.2
问题7
caffe或pycaffe编译时报错
/usr/bin/ld: 找不到 -lopencv_imgcodecs3
/usr/bin/ld: 找不到 -lopencv_core3
/usr/bin/ld: 找不到 -lopencv_highgui3
/usr/bin/ld: 找不到 -lopencv_imgproc3
解决方式
cd caffe #你的caffe根目录
gedit Makefie
使用ctrl+f查找opencv_imgcodecs3
将其所在语句改为下图所示(##为原语句,其上方为修改语句)
保存Makefile文件后重新编译即可解决