qq_41966305 2022-09-15 07:22 采纳率: 0%
浏览 330

为什么报错 apply() missing 1 required positional argument: 'fn'

img

img

这是我写的权重初始化
下面是我写的生成器网络


class BasicBlock(nn.Module):
    def __init__(self, in_channel,out_channel):  #为输入的channel大小,BasicBlock输出等于输入channel大小
        super(BasicBlock, self).__init__()
        self.conv1 = nn.ConvTranspose2d(in_channel, out_channel//2, kernel_size=1,
                               stride=1, padding=0,bias=False)
        self.bn1 =nn.GroupNorm(4,out_channel//2)
        self.relu1 = nn.ReLU(inplace=True)
        self.conv2 = nn.ConvTranspose2d(out_channel//2,out_channel, kernel_size=3,
                        stride=1, padding=1,bias=False)
        self.bn2 =nn.GroupNorm(4,out_channel)
        self.relu2 = nn.ReLU(inplace=True)
    if in_channel!=out_channel:
           self.extra =nn.Sequential(
                nn.ConvTranspose2d(in_channel,out_channel,kernel_size=3,stride=1,padding=1,bias=False),
                nn.GroupNorm(4, out_channel),
        )
    def forward(self, x):
        residual = x
        out = self.conv1(x)
        out = self.relu1(out)
        out = self.conv2(out)
        out = self.relu2(out)
        residual=self.extra(residual)
        out = out + residual
        out=self.relu2(out)
        return out
class netG(nn.Module):
    def __init__(self):
        super(netG, self).__init__()
        self.ngf = 512
        self.SEB1=BasicBlock(nz,self.ngf )
        self.SEB2=BasicBlock(self.ngf , self.ngf//2)
        self.SEB3=BasicBlock(self.ngf//2, self.ngf//4)
        self.SEB4=BasicBlock(self.ngf//4, 3)

    def forward(self, x):
        x=self.SEB1(x)
        x = self.SEB2(x)
        x = self.SEB3(x)
        x = self.SEB4(x)
        return x

展开全部

  • 写回答

1条回答 默认 最新

  • honestman_ 2022-09-15 07:27
    关注

    调用apply方法必须加上 fn参数

    评论
    编辑
    预览

    报告相同问题?

    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部