最近跑一个faster-rcnn实验,测试时候出现错误:

网上搜罗一圈,都说是原代码太老,调用forward的方法是非静态的,而在pytorch1.3及以后的版本需要规定forward方法为静态方法,所以在pytorch1.3以上的版本执行出错。(此时我的pytorch是1.8版本)
的启发,比葫芦画瓢, 我的错误原因是在roi_module.py里面的一个类RoIPooling2D里,如下图

而这句错误是返回RoI类,返回的时候非静态调用RoI类的forward函数,导致错误。
改正:如下图,静态调用RoI类的forward函数即可,即RoI.forward
最后fasterrcnn可以成功测试!
本文解决了Faster-RCNN在PyTorch 1.8版本上测试时遇到的错误。错误原因是非静态forward方法的使用,在更新代码使其符合PyTorch新版本的要求后,问题得以解决。
4425





