Ubuntu16.04安装ssd的错误及解决方法
2017-07-14 20:55
639 查看
第一次安装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.在用自己训练的模型做测试时,出现了如下的错误
后来才发现需要更改/examples/ssd/ssd_pascal_video.py文件里的num_classes和labelmap_voc.prototxt,
num_classes的值为类数+1,例如我分了9个类,我的num_classes=10;然后在labelmap_voc.prototxt替换成自己的类别就可以了。
问题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.在用自己训练的模型做测试时,出现了如下的错误
后来才发现需要更改/examples/ssd/ssd_pascal_video.py文件里的num_classes和labelmap_voc.prototxt,
num_classes的值为类数+1,例如我分了9个类,我的num_classes=10;然后在labelmap_voc.prototxt替换成自己的类别就可以了。
相关文章推荐
- 关于在ubuntu16.04 64位系统上安装交叉编译工具出现错误的解决方法
- Ubuntu16.04下安装mysql各种错误的暴力解决方法...
- Ubuntu 16.04安装搜狗拼音输入法错误问题的解决方法
- ubuntu16.04下安装openssh-server报依赖错误的完美解决方法(非常不错)
- 安装ubuntu出现BUG soft lockup的解决方法(16.04 14.04)
- linux/ubuntu下安装nginx时./configure后出现几种错误的解决方法
- ubuntu安装mysql错误do_abi_check的解决方法
- 新安装Ubuntu加载时提示“为/检查磁盘时发生严重错误”的解决方法
- Ubuntu 16.04 LTS直接双击安装deb包失败的解决方法
- ubuntu14.04安装oracle12c及错误解决方法
- Ubuntu安装Percona Server报libc6版本依赖错误解决方法
- 百篇大计敬本年之系统篇《八》—— Ubuntu16.04 挂载windows的 NTFS 文件系统时错误的解决方法
- 安装ubuntu出现ubi-partman failed with code 141错误的解决方法
- ubuntu16.04无法安装第三方软件解决方法 、
- Ubuntu 16.04 安装后黑屏,没有声音的解决方法
- 【新手推荐】基于飞凌OK210开发板ubuntu下的QtCreator的安装、环境搭建与交叉编译的完整攻略及错误解决方法
- ubuntu下安装nginx错误error: the HTTP rewrite module requires the PCRE library 解决方法
- libudev-dev 错误 libudev1 (= 204-5ubuntu20) 但是 204-5ubuntu20.5 正要被安装 解决方法
- Ubuntu安装Myeclipse后创建Maven项目报Build Plan错误的解决方法