Legacy autograd function with non-static forward method is deprecated

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

Legacy autograd function with non-static forward method is deprecated

在网络s3fd_atss_sapd 测试时发现这个问题,

detect 是个Function,

  1. class Detect(Function):
  2. xxx
  3. self.detect = Detect(cfg)

改之前代码:

  1. if self.phase == 'test':
  2. output = self.detect(
  3. loc.view(loc.size(0), -1, 4), # loc preds
  4. self.softmax.forward(conf.view(conf.size(0), -1,
  5. self.num_classes)), # conf preds
  6. # self.priors.type(type(x.data)) # default boxes
  7. self.priors.type_as(x) # default boxes
  8. )

改之后代码:

  1. if self.phase == 'test':
  2. output = self.detect.forward(
  3. loc.view(loc.size(0), -1, 4), # loc preds
  4. self.softmax.forward(conf.view(conf.size(0), -1,
  5. self.num_classes)), # conf preds
  6. # self.priors.type(type(x.data)) # default boxes
  7. self.priors.type_as(x) # default boxes
  8. )

基本上与网上方法一致,

网上的方法:

Legacy autograd function with non-static forward method is deprecated. - 知乎

解决方案是将ssd.py中的以下代码进行修改:

修改为

发布于 2021-03-09 22:

相关文章