用py-faster-rcnn训练自己的数据,训练后的caffemodel不能导入demo.py进行测试

用py-faster-rcnn训练自己的数据,目前训练阶段已经顺利通过,得到的map也不错接近90%,想将得到的caffemodel导入demo.py进行测试,但是执行demo的时候,自己训练的caffemodel总是不能读入,显示读入的caffemodel一直是先前测试时用的caffemodel。训练时采用的是Approximate joint training(faster_rcnn_end2end.sh)方式,训练好的caffemodel已经添加到data/faster rcnn models里面,然后也在demo.py里面进行了替换,对test.prototxt的bbox_pred层和cls_score层​也进行了修改。因为要实现一个二分类的检测问题,在test.prototxt的bbox_pred层和cls_score层修改成的2和8,但是执行demo.py时显示bbox_pred层和cls_score层仍然是21和84,最后也就导致维度不匹配demo.py无法执行。哪位仁兄对这方面比较熟悉给解答一下,感激不尽啊!!

2016-05-06_08_21_24____________.jpg

这是在test.prototxt中对bbox_pred层和cls_score层​的设置情况

QQ图片20160506081901.jpg

这是执行demo.py时显示的参数,和test.prototxt根本不匹配

QQ图片20160506081856.jpg

这是最后的错误提示。。
已邀请:

王斌_ICT - 研究领域:深度学习,目标检测

赞同来自: caney

检查一下demo.py中 prototxt = os.path.join(cfg.MODELS_DIR, NETS[args.demo_net][0], 'faster_rcnn_alt_opt', 'faster_rcnn_test.pt') 是否也改成了end2end的路径。

sunnyxiaohu

赞同来自: caney

你网络已经训练成功,说明不是训练的问题。你看提示中复制层参数的时候忽略了那么多层,而且shape不匹配,应该是测试网络prototxt参数的问题。找到你用来测试的网络,比如在matlab版中为detection_test.prototxt,删除包括relu层在内的前5层,然后改下输入参数以实现卷积共享。

yexinring

赞同来自:

pre_train的参数的网络结构要与你进行训练的网络一致。

要回复问题请先登录注册