zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-02-19 12:20:47 时间

问题描述:

解决方法:

  1. NotImplementedError 错误:

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

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

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

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

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

果然forward拼写成了forword

总结:

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

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

表示执行多个module。

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

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