cannot assign module before Module.__init__() call

待我称王封你为后i 2022-10-16 11:25 38阅读 0赞

错误翻译成中文是:属性错误,模块不能在初始化之前赋值。错误原因有可能是:

在类的初始化里面没有加上父类的初始化,比如:

  1. class Conv2dBatchLeaky(nn.Module):
  2. def __init__(self, in_channels, out_channels, kernel_size, stride, leaky_slope=0.1):
  3. self.in_channels = in_channels
  4. self.out_channels = out_channels
  5. self.kernel_size = kernel_size

解决方法:

加上:

super(Conv2dBatchLeaky, self).__init__()

代码如下即可:

  1. class Conv2dBatchLeaky(nn.Module):
  2. def __init__(self, in_channels, out_channels, kernel_size, stride, leaky_slope=0.1):
  3. super(Conv2dBatchLeaky, self).__init__()
  4. self.in_channels = in_channels
  5. self.out_channels = out_channels
  6. self.kernel_size = kernel_size

发表评论

表情:
评论列表 (有 0 条评论,38人围观)

还没有评论,来说两句吧...

相关阅读