红联Linux门户
Linux帮助

Ubuntu16.04安装ssd的错误及解决方法

发布时间:2017-07-15 10:05:02来源:linux网站作者:cdwxx1234
第一次安装ssd难免会出现各种错误,现在我把自己安装过程中出现的错误及解决方法写出来供大家作参考,希望大家少走弯路。我在台式机上安装的是:ubuntu16.04+cuda8.0+cudnn5.1+ssd,cuda及cudnn的安装,这一篇文章主要是ssd的编译问题及解决方法。
 
问题1.在make all编译时:fatal error: cublas_v2.h: No such file or directory
出现这个问题主要是没把cuda的头文件、库的路径放置到caffe的Makefile.config中,因此我们把CUDA8.0中的include、lib路径分别添加到caffe根目录下Makefile.config中的"INCLUDE_DIRS"、“LIBRARY_DIRS”后面就可以了。
我添加后是这样的:
INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include  /usr/include/hdf5/serial  /usr/local/cuda-8.0/include/(添加的include路径)
LIBRARY_DIRS := $(PYTHON_LIB)/usr/local/lib  /usr/lib  /usr/local/cuda-8.0/lib64/(添加的lib路径)
 
问题2.接着make all 时有出现了如下错误:
CXX src/caffe/layer_factory.cpp
NVCCsrc/caffe/solvers/adam_solver.cu
make: /usr/local/cuda/bin/nvcc: Command not found
Makefile:589: recipe for target'.build_release/cuda/src/caffe/solvers/adam_solver.o' failed
make: *** [.build_release/cuda/src/caffe/solvers/adam_solver.o]Error 127
make: *** Waiting for unfinished jobs....
可以看到刚刚运行到NVCC时就出错了,也就是跟cuda相关。这其实是cuda的路径没有设置正确,我们打开caffe中的Makefile.config,ctrl+f直接搜索CUDA_DIR,更改cuda的路径为自己的路径就可以,我更改后如下:
CUDA_DIR := /usr/local/cuda-8.0
 
问题3.继续编译又碰到了下面的错误:
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
/usr/bin/ld: cannot find -lopenblas
collect2: error: ld returned 1 exit status
Makefile:567: recipe for target'.build_release/lib/libcaffe.so.1.0.0-rc3' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
在计算机中搜索libhdf5_serial.so.10.1.0,找到后右键点击打开项目位置
该目录下空白处右键点击在终端打开,打开新终端输入
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so
sudo ln libhdf5_serial_hl.so.10.0.2libhdf5_hl.so
最后在终端输入sudo ldconfig使链接生效
对于/usr/bin/ld: cannot find –lxxx之一类问题,如果确定没有安装,就直接安装,它们的名字形成规则是lib+xxx-dev(注意去掉xxx前面的l)。至于openblas没有安装,直接运行下面的语句就行
sudo apt-get install libopenblas-dev
 
问题4.ImportError: No module named caffe
出现这种错误一般是没把caffe中的Python添加到python的解释器中,解决方法就是把python的路径添加到~/.bashrc文件中。
在终端输入
Sudo gedit ~/.bashrc
在打开的文件最后添加
export PYTHONPATH=~/caffe/python:$PYTHONPATH
保存关闭文件后终端输入
Source  ~/.bashrc
使环境变量生效。
 
问题5.在用自己训练的模型做测试时,出现了如下的错误
Ubuntu16.04安装ssd的错误及解决方法
后来才发现需要更改/examples/ssd/ssd_pascal_video.py文件里的num_classes和labelmap_voc.prototxt,
num_classes的值为类数+1,例如我分了9个类,我的num_classes=10;然后在labelmap_voc.prototxt替换成自己的类别就可以了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31983.html