您的位置:首页 > 数据库

Fast rcnn 训练自己的数据库问题小结

2015-06-18 09:28 253 查看
fast rcnn 提供了两个预训练的模型,拿CaffeNet做例子,有CaffeNet.v2.caffemodel 和 caffenet_fast_rcnn_iter_40000.caffemodel两种。前者是imagenet上训练的模型,后者是imagenet上训练过又在voc上finetune后的模型,故使用第一个用fast rcnn自带的配置文件train.prototxt没有问题,但是用第二个模型训练自己的数据库,由于类别数目不一致会导致启动caffe后报错:

Check failed: ShapeEquals(proto) shape mismatch(reshape noe set)

这个时候只要将train里面的cls_score和bbox_pred重新命名即可

训练中出现出现boxes[:,2] >= boxes[:,0] 的assert 错误,跟踪进去发现报错的boxes[0,0]=65535,说明出现了越界错误,此时检查上面两句boxes[:,0] = widths[i] - oldx2 -1 … 可以将-1去掉解决该问题

不要使用caffe的snapshot,即保持solver里面 snapshot一直为0,fast rcnn已经做了snapshot的设置,在lib/fast-rcnn/下面config.py里面__C.TRAIN.SNAPSHOT_ITER可以设置,保存地址也在此文件的get_output_dir函数里

matlab fast_rcnn_demo.m中可能box的坐标与SS生成的不一致,需要做一个x与y的交换例如:

box = boxes;

boxes(:,1) = box(:,2);

boxes(:,2) = box(:,1);

boxes(:,3) = box(:,4);

boxes(:,4) = box(:,3);

python 的demo.py也有同样的问题,这也是网上很多网友发现无法复现作者的效果的原因之一
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: