title:安装caffe遇到的坑
tags:caffe安装,搬砖日常
caffe 安装
1.官网caffe安装
-
ubuntu16.04 caffe安装
采用cmake 方法安装:
mkdir build cd build cmake .. make all make install make runtest
-
在
make all
报错不通过,按照报错信息提示需要使用-fPIC
进行编译,查找到在cmakeList.txt中添加add_definitions(-fPIC)
不起作用,通过find命令查找电脑中是否有libz.a,能够查找到这个文件,翻了些博客说针对64位机如果编译时没有采用-fPIC
编译出来的静态库没有重定位能力。/usr/bin/ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32 against `.rodata.str1.1’ can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libz.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
src/caffe/CMakeFiles/caffe.dir/build.make:26392: recipe for target ‘lib/libcaffe.so.1.0.0’ failed
make[2]: *** [lib/libcaffe.so.1.0.0] Error 1
CMakeFiles/Makefile2:304: recipe for target ‘src/caffe/CMakeFiles/caffe.dir/all’ failed
make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
Makefile:127: recipe for target ‘all’ failed
make: *** [all] Error 2 -
安装zlib
zlib下载选择tar版本下载解压
安装命令:
cd zlib-1.2.11 //进入zlib目录 CFLAGS="-O3 -fPIC" ./configure //使用64位元的方法进行编译 make make install
解决掉错误后执行caffe安装与测试命令成功。
2.caffe-ssd版本安装
-
ubuntu16.04 caffe-ssd安装,安装过程同caffe,需要在命令前加
sudo
,之前有没加sudo出现TIFFReadDirectory@LIBTIFF_4.0
报错,查到一篇博客解决方法是是切到超级用户下执行命令。模型文件网盘下载(待更新)
安装命令:
mkdir build
cd build
sudo cmake …
sudo make all
sudo make install
sudo make runtest -
针对build里生成的文件加锁,需要更改过权限才能复制文件进去,递归更改权限命令如下:
sudo chmod 777 -R ./*
-
使用作者用COCO数据集训练好的模型对单张图片进行检测,其中test.txt每行代表要测单张图片的路径,在测试过程中可能会出现
labelmap_coco.prototxt
文件找不到,需要在deploy.prototxt
中改为labelmap_coco.prototxt的绝对路径。命令:
sudo ./build/examples/ssd/ssd_detect.bin /home/yyl/caffe-ssd/build/tools/deploy.prototxt /home/yyl/caffe-ssd/build/tools/VGG_coco_SSD_300x300_iter_400000.caffemodel /home/yyl/caffe-ssd/examples/images/test.txt
通过上述命令可以知道执行测试图片是在ssd_detect.cpp中,对其改动后需要重新sudo make all