问题

关于PyTorch继承nn.Module出现raise NotImplementedError的问题解决方案-LMLPHP

方法

  1. NotImplementedError 错误:

子类没有完成父类的接口,在此就是父类(nn.Module)中的 forward 方法在子类中没有定义,则会自动调用 nn.Module 中的forward方法,而 nn.Module 中的 forward 是 raise 将错误抛出。所以出现 NotImplementedError 错误。

2.问题锁定在forward方法上:

(1)没有对齐,forward对应的代码段,可能是多了一个Tag,

(2)拼写错误,forward拼写成了forword

问题原因(为什么报错NotImplementedError)

果然forward拼写成了forword

关于PyTorch继承nn.Module出现raise NotImplementedError的问题解决方案-LMLPHP

总结

在网上查询资料后,还有一些会导致报错NotImplementedError

比如在 nn.Sequential 中有forward方法的定义:

关于PyTorch继承nn.Module出现raise NotImplementedError的问题解决方案-LMLPHP

表示执行多个module。

在 nn.ModuleList 中有 insert, append, extend 方法,但是没有 forward 的定义,所以会出现 NotImplementedError。

而我的错误则是最基本的拼写错误,大家报错后首先需要检查自己的代码有没有语法错误,拼写错误,这样会节省很多时间。

11-06 21:38