Legacy autograd function with non-static forward method is deprecated

x33g5p2x  于2022-02-07 转载在 其他  
字(0.8k)|赞(0)|评价(0)|浏览(446)

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:

相关文章