Legacy autograd function with non-static forward method is deprecated
在网络s3fd_atss_sapd 测试时发现这个问题,
detect 是个Function,
class Detect(Function):
xxx
self.detect = Detect(cfg)
改之前代码:
if self.phase == 'test':
output = self.detect(
loc.view(loc.size(0), -1, 4), # loc preds
self.softmax.forward(conf.view(conf.size(0), -1,
self.num_classes)), # conf preds
# self.priors.type(type(x.data)) # default boxes
self.priors.type_as(x) # default boxes
)
改之后代码:
if self.phase == 'test':
output = self.detect.forward(
loc.view(loc.size(0), -1, 4), # loc preds
self.softmax.forward(conf.view(conf.size(0), -1,
self.num_classes)), # conf preds
# self.priors.type(type(x.data)) # default boxes
self.priors.type_as(x) # default boxes
)
基本上与网上方法一致,
网上的方法:
Legacy autograd function with non-static forward method is deprecated. - 知乎
解决方案是将ssd.py中的以下代码进行修改:
修改为
发布于 2021-03-09 22: