RuntimeError: Legacy autograd function with non-static forward method is deprecated

出现在自定义求导函数时。有说是pytorch版本问题,需退到1.3之前。
 
或者按官方建议,在自定义的autorgrad.Function中的forward,backward前加上@staticmethod(似乎不加,按下面所说完成修改也可)
 
  • 在调用时候,不再是实例化func()然后func(x),而是直接func.apply(x)
  • 即使不加staticmethod,最后也是按静态方法调用的。staticmethod意味着Function不再能使用类内的方法和属性,去掉init()用别的方法代替

你可能感兴趣的:(奇奇怪怪的bug)