最近跑一个faster-rcnn实验,测试时候出现错误:
网上搜罗一圈,都说是原代码太老,调用forward的方法是非静态的,而在pytorch1.3及以后的版本需要规定forward方法为静态方法,所以在pytorch1.3以上的版本执行出错。(此时我的pytorch是1.8版本)
的启发,比葫芦画瓢, 我的错误原因是在roi_module.py里面的一个类RoIPooling2D里,如下图
而这句错误是返回RoI类,返回的时候非静态调用RoI类的forward函数,导致错误。
改正:如下图,静态调用RoI类的forward函数即可,即RoI.forward
最后fasterrcnn可以成功测试!