编译测试MATLAB版本的faster rcnn和rfcn
来源:互联网 发布:不锈钢交易网软件 编辑:程序博客网 时间:2024/05/18 18:43
环境Ubuntu16.04,MATLAB2016b。
使用过MATLAB2014a,但内置编译器和系统版本不一致,无法解决,于是改用MATLAB2016b。
MATLAB2016b的解决方法。
第一步,把MATLAB内置的stdc++库备份,也就是改个名字让它不起作用。
cd /usr/local/programFiles/MATLAB/R2016a/sys/os/glnxa64
mv libstdc++.so.6 libstdc++.so.6.bak
第二步,挂载系统的库。
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6
另外,opencv的几个库也要如法炮制。
mv /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_core.so.2.4 /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_core.so.2.4.bak
ln -s /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.9 /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_core.so.2.4
mv /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_imgproc.so.2.4 /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_imgproc.so.2.4.bak
ln -s /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.9 /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_imgproc.so.2.4
mv /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_highgui.so.2.4 /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_highgui.so.2.4.bak
ln -s /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9 /usr/local/MATLAB/R2016b/bin/glnxa64/libopencv_highgui.so.2.4
编译caffe。
第一步:配置路径
把Makefile.config.example复制一份,并改名叫Makefile.config
主要改动位置:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
因为不加后面几个路径,会找不到hdf5
第二步:编译
make -j8 && make matcaffe
注意,后一个命令不能用make all,否则MATLAB接口没有。
测试faster rcnn。
如果caffe放在faster rcnn根目录下,名字叫caffe-faster-R-CNN。
1,修改demo脚本和训练脚本内的opts.caffe_version = 'caffe-faster-R-CNN';
2,修改active_caffe_mex.m里面的caffe_dir = = fullfile(curdir, 'external', 'caffe', 'matlab');,改成caffe_dir = fullfile(pwd, caffe_version);。
3,修改startup.m里面的caffe_path = fullfile(curdir, 'external', 'caffe', 'matlab');,改成caffe_path = fullfile(curdir, 'caffe-faster-R-CNN');
遇到的错误。
运行script_faster_rcnn_demo的时候,报错找不到nms_gpu_mex。
把nms(aboxes, nms_overlap_thres, use_gpu)这里的use_gpu改成0。
不知道这里为什么报这个错误,应该是我MATLAB调用cuda程序的设置不对。因为这个nms_gpu_mex函数定义在nms_gpu_mex.cu这个文件里。
最后发现原因是没有先运行faster_rcnn_build.m......
运行demo可以,但运行训练程序的时候,MATLAB崩溃。
崩溃时弹出警告框提示:Disabled - No sandbox or build area path
以及:
"This error was detected while a MEX-file was running. If the MEX-file
is not an official MathWorks function, please examine its source code
for errors. Please consult the External Interfaces Guide for information
on debugging MEX-files.
...
A technical support engineer might contact you with further information.
MATLAB is exiting because of fatal error"
因为是终端打开的MATLAB,所有终端还有输出错误:Check failed: fd != -1 (-1 vs. -1) File not found: .\models\rpn_prototxts\ZF\train_val.prototxt
解决方法,把solver.prototxt里面的模型文件路径修改一下。
比如:net: ".\\models\\rpn_prototxts\\ZF\\train_val.prototxt"
改成:net: "/models/rpn_prototxts/ZF/train_val.prototxt"
就可以了。
原因可能是因为原来的源码是在Windows上面测试的,Ubuntu下面路径写法不太一样。
测试RFCN类似。
- 编译测试MATLAB版本的faster rcnn和rfcn
- 【caffe-MATLAB】自己编译faster-rcnn的MATLAB版本
- 【caffe-MATLAB】自己编译faster-rcnn的MATLAB版本
- windows 下 编译py-faster-rcnn,py-rfcn, py-pva-frcn 下的lib。编译Cython模块
- faster rcnn的测试
- matlab版本下的faster rcnn训练caltech数据集
- pva-faster-rcnn编译cpu版本的错误
- Faster RCNN 代码阅读 - Matlab版本
- Windows 配置Faster RCNN matlab版本
- win7 faster rcnn matlab版本配置
- Faster RCNN训练(Matlab版本)结果
- Windows+Caffe(Faster RCNN/RFCN/SSD)编译(Cuda7.5+Cuda8.0)未完待续
- Windows+Caffe(Faster RCNN/RFCN/SSD)编译(Cuda7.5+Cuda8.0)未完待续
- Ubuntu 编译安装faster rcnn(matlab)
- matlab faster-rcnn 测试与训练
- windows matlab cpu 测试faster rcnn
- Faster R-CNN的安装及测试(Python版本和Matlab版本)
- Faster-RCNN+ZF用自己的数据集训练模型(Python版本and MATLAB版本)
- oVirt Integration ceph
- 如何解决create view中Select where语句中含有中文不能生成视图记录的问题
- Http协议
- Mybatis一级缓存 去除
- 开机自启动activity或service
- 编译测试MATLAB版本的faster rcnn和rfcn
- spring-boot 允许接口跨域并实现拦截
- nyoj苹果01背包问题
- 小程序学习
- 语音功能
- 并查集
- python 的 time 模块
- Banner
- jasperreports报表生命周期