本来在正常状况下,编译ssd-caffe并不会遇到什么问题。但如果之前有安装caffe并make install 将其头文件添加到系统目录,在安装ssd时可能会遇到各种错误。
1.出现此类问题很可能是之前安装的的caffe不包含GetImageSize函数,清除重新编译生成即可。
get_image_size.cpp(...):undefined reference to "caffe:GetImageSize()"
具体方式,清除或者改名/usr/lib/libcaffe.so或/usr/local/libcaffe.so。
2.undefined reference to "boost:XXX"
此类问题可以修改makefile文件,在LIBRARIES里将boost_regex加上去即可
3.编译时遇到data_transformer.cpp error类的错误
这是因为之前安装的caffe环境与当前版本有冲突,此时可将makefile中
COMMON_FLAGS += $(foreach includedir,$(INCLUDE_DIRS),-isystem $(includedir))
的-isystem换成-I即可,具体参考此篇博文
4.对于以下类似错误出现过很多次,不同的情况下可能要具体分析。
[cudnn_conv_layer.cpp:53]Check failed:status==CUDNN_STATUS_SUCCESS(4VS.0)CUDNN_STATUS_INTERNAL_ERROR ***Check failure stack trace:*** Aborted(core dumped)
然而在执行项目中的demo.py时出现,其原因在于demo.py中的
net_file='deploy.protoxt'并没有被替换成'MobleNetSSD_deploy.protoxt'导致。
以上