SSD的配置安装
来源:互联网 发布:mac 终端输入密码 编辑:程序博客网 时间:2024/04/29 17:13
SSD的配置安装
SSD github地址:
https://github.com/weiliu89/caffe/tree/ssd#installation
安装文档:
http://blog.csdn.net/samylee/article/details/51822832
SSD:Single Shot MultiBox Detector 配置问题一览
http://blog.csdn.net/u010733679/article/details/52125597
电脑配置:
显卡英伟达1070,CUDA8.0,cudnn5
第一部分:安装SSD(caffe)
1、从github上下载caffe-ssd,解压
2、安装NVIDIA驱动和CUDA
3、安装caffe依赖
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler python-pip python-dev python-opencv
4、安装Atlas
sudo apt-get install libatlas-base-dev
5、安装cudnn
https://developer.nvidia.com/cudnn
解压
tar -xzvf cudnn-****
cd cuda/lib64
sudo cp * /usr/local/cuda/lib64
cd ../include
sudo cp cudnn.h /usr/local/cuda/include
更新软链接
cd /usr/local/cuda/lib64 (sudo ln -s libcudnn.so libcudnn.so.5)
6、安装caffe
终端输入:进入caffe根目录, 首先复制一份 Makefile.config , 然后修改里面的内容,主要需要修改的参数包括
USE_CUDNN 是是否使用cudnn加速
CPU_ONLY 是否只使用CPU模式,没有GPU没安装CUDA的同学可以打开这个选项
BLAS (使用intel mkl还是atlas)
MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径, 如我的路径为 /usr/local/MATLAB/R2013b (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)
DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序
cd /home/**(您服务器的名字)/caffe
mkdir build
cd build
cmake ..(cmake和..中间又一个空格)
make all -j8("‐j8"是使用 CPU 的多核进行编译,可以极大地加速编译的速度)
make install
make test
make runtest
make pycaffe(编译pycaffe)
第三部分:下载数据文件
1、 预训练模型下载
下载地址:链接:http://pan.baidu.com/s/1slpaEO9 密码:loxo
在caffe/models文件夹下新建文件夹,命名为VGGNet,将刚刚下载下来的文件放入这个VGGNet文件夹当中
2、下载VOC2007和VOC2012数据集
在主文件夹下(即/home/**(您服务器的名字)/)新建文件夹,命名为data
终端输入:
cd /home/**(您服务器的名字)/data
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar解压这三个文件,终端输入:
cd /home/**(您服务器的名字)/data
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar(请严格按照这个顺序解压)
第四部分:生成LMDB文件
终端输入:cd /home/**(您服务器的名字)/caffe
./data/VOC0712/create_list.sh
./data/VOC0712/create_data.sh
在运行第三步时如果出现no module named caffe或者是no module named caffe-proto,则在终端输入:
export PYTHONPATH=$PYTHONPATH:/home/**(您服务器的名字)/caffe/Python
然后再次运行第三步
第五部分:训练测试演示
1、 训练
打开caffe/examples/ssd/ssd_pascal.py这个文件,找到gpus=’0,1,2,3’这一行,如果您的服务器有一块显卡,则将123删去,如果有两个显卡,则删去23,以此类推。如果您服务器没有gpu支持,则注销以下几行,程序会以cpu形式训练。(这个是解决问题cudasuccess(10vs0)的方法)
#Ifnum_gpus >0:
# batch_size_per_device =int(math.ceil(float(batch_size) / num_gpus))
#iter_size =int(math.ceil(float(accum_batch_size) / (batch_size_per_device * num_gpus)))
# solver_mode =P.Solver.GPU# device_id =int(gpulist[0])
保存后终端运行:
cd /home/**(您服务器的名字)/caffe
python examples/ssd/ssd_pascal.py
如果出现问题cudasuccess(2vs0)则说明您的显卡计算量有限,再次打开caffe/examples/ssd/ssd_pascal.py这个文件,找到batch_size =32这一行,修改数字32,可以修改为16,或者8,甚至为4(相信大家这个修改可以理解,我就不作说明了),保存后再次终端运行python examples/ssd/ssd_pascal.py
2、 测试
终端输入:
python examples/ssd/score_ssd_pascal.py(演示detection的训练结果,数值在0.718左右)
3、 演示
演示网络摄像头识别效果,终端输入:
python examples/ssd/ssd_pascal_webcam.py
错误:使用cuda8编译时出错:
/usr/include/boost/property_tree/detail/json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array
方法:因为gcc版本太低了,升级到5.3即可解决
首先添加ppa到库:
1 sudo add-apt-repository ppa:ubuntu-toolchain-r/test2 sudo apt-get update
如果提示未安装,还需要先安装它的包:
1 sudo apt-get install software-properties-common
默认在系统中安装的是gcc-4.8,但现在都什么年代了万一有奇怪的更新呢,可以先升级一下,接着就可以选择安装gcc-4.9、gcc-5之类的啦!(注意目前gcc-5实际上是5.3.0,没有5.1或5.2可供选择)
1 sudo apt-get upgrade2 sudo apt-get install gcc-4.8 g++-4.83 sudo apt-get install gcc-4.9 g++-4.94 sudo apt-get install gcc-5 g++-5
(非必须)现在可以考虑刷新一下,否则locate等命令是找不到的:
1 sudo updatedb && sudo ldconfig2 locate gcc
如果是阿里云ECS等做了限制的或者是其他奇怪的系统上,你会发现 gcc -v 显示出来的版本还是gcc-4.8的,因此需要更新一下链接:
1 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 48 \ 2 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 \ 3 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-4.8 \ 4 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-4.8 \ 5 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-4.8 6 7 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 49 \ 8 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 \ 9 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-4.9 \10 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-4.9 \11 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-4.912 13 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 53 \14 --slave /usr/bin/g++ g++ /usr/bin/g++-5 \15 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-5 \16 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-5 \17 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-5
更新链接不仅仅是为了使用新安装的gcc版本,更重要的是以后可以随时切换。上面的命令是分为3块,每块对应相应的gcc版本,并不是要一股脑全复制粘贴进控制台运行。要注意反斜杠(\)前要有空格,因为它只提供换行的功能。
于是到这里升级gcc版本就已经完成了。
cuda8.0支持版本为gcc5.3,5.4不支持了,找到/usr/local/cuda/include/host_config.h,113行将3改成4即可。在命令行输入Python;再输入import caffe时,可能会报以下错误:
can not find module skimage.io
此时只要按照以下命令操作即可:$ sudoapt-get update
- SSD的配置安装
- SSD的配置安装与测试
- SSD的配置安装与测试
- ubuntu+SSD配置安装
- Caffe SSD 配置与安装
- SSD: Single Shot MultiBox Detector的安装配置和运行
- SSD:Single Shot MultiBox Detector的安装配置和运行
- SSD:Single Shot MultiBox Detector的安装和配置
- SSD: Single Shot MultiBox Detector的安装配置和运行
- LUbuntu安装配置CPU版本的Caffe-SSD
- Wndows安装配置CPU版本的Caffe-SSD
- SSD的配置及运行
- SSD的配置及运行
- SSD的配置及运行
- ssd in caffe windows10安装\配置
- Ubuntu14.04安装配置深度网络SSD
- SSD的安装配置和测试以及自己遇到的一些坑
- ssd安装
- JAVA学习笔记之正则表达式练习题
- 257. Binary Tree Paths
- fork函数的2个返回值说明
- 涂层缓释施一次肥
- GitFlow使用
- SSD的配置安装
- 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
- pl/sql连接远程oracle服务器
- 第三节 微信开发前注意事项
- DOM对象总览
- Android5.1.+ getRunningAppProcesses()获取运行中进程(第三方开源库)
- Linux Sphinx 配置
- mysql多实例验证
- Android Support Library的前世今生