pytorch中pg-gan发生器的实现

2024-04-23 19:27:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用pytorch创建一个生成器pg-gan架构。我发现了以下体系结构,并一直在尝试实现相同的体系结构。pg gan architcture

这是到目前为止我的代码

<;类生成器(nn.模块): definit(自身,ngpu): 超级(生成器,自身)。init() self.ngpu=ngpu self.main=nn.Sequential( nn.Conv2d(新西兰,ngf*16,1,1,0,偏差=假), nn.ReLU(正确), nn.Conv2d(ngf*16,ngf*16,1,1,0,偏差=假), nn.ReLU(正确)

        nn.Upsample(scale_factor=8), 
        nn.Conv2d(ngf * 16, ngf * 8, 2, 1, 0, bias=False),
        nn.ReLU(True),  
        nn.Conv2d(ngf * 8, ngf * 8, 2, 1, 0, bias=False),
        nn.ReLU(True),    

        nn.Upsample(scale_factor=8),  
        nn.Conv2d(ngf * 8, ngf * 4, 4, 2, 0, bias=False),
        nn.ReLU(True),   
        nn.Conv2d(ngf * 4, ngf * 4, 4, 2, 0, bias=False),
        nn.ReLU(True),   

        nn.Upsample(scale_factor=4),  
        nn.Conv2d(ngf * 4, ngf * 2, 4, 1, 0, bias=False),
        nn.ReLU(True),   
        nn.Conv2d(ngf * 2, ngf * 2, 4, 1, 0, bias=False),
        nn.ReLU(True),   

        nn.Upsample(scale_factor=2), 
        nn.Conv2d(ngf * 2, ngf * 1, 4, 1, 0, bias=False),
        nn.ReLU(True),    
        nn.Conv2d(ngf * 1, ngf * 1, 4, 1, 0, bias=False),
        nn.ReLU(True),   

        nn.Upsample(scale_factor=2), 
        nn.Conv2d(ngf , 32, 2, bias=False),
        nn.ReLU(True),   
        nn.Conv2d(32, 32, 4,1,0, bias=False),
        nn.ReLU(True),  

        nn.Conv2d(32, 3, 1,  bias=False),
        nn.ReLU(True),  

        nn.Tanh()
    )

def forward(self, input):
  return self.main(input)>

我很确定我把代码的第一部分搞错了(图中突出显示为红色的部分) 有人能告诉我我做错了什么吗? 我要输出的图像具有形状(128128,3)

多谢各位