【发布时间】:2021-11-17 00:21:39
【问题描述】:
我只是在这里的代码中找到了:
https://github.com/NUS-Tim/Pytorch-WGAN/tree/master/models
对于 WGAN,WGAN 和 WGAN-GP 之间的“生成器”损失 G 是不同的:
g_loss = self.D(fake_images)
g_loss = g_loss.mean().mean(0).view(1)
g_loss.backward(one) # !!!
g_cost = -g_loss
但对于 WGAN-GP:
g_loss = self.D(fake_images)
g_loss = g_loss.mean()
g_loss.backward(mone) # !!!
g_cost = -g_loss
为什么一个是one=1 而另一个是mone=-1?
【问题讨论】:
-
我认为代码是错误的,正如你所说,WGAN和WGAN-GP的baseloss没有区别。顺便说一句,你可能会忽略火车 D 也是倒车的。
标签: deep-learning neural-network pytorch backpropagation generative-adversarial-network