-
Notifications
You must be signed in to change notification settings - Fork 206
【Hackathon 8th No.23】Improved Training of Wasserstein GANs 论文复现 #1146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Thanks for your contribution! |
Update wgangp_toy.py
Update functions.py
对于相同目的的反复修改,在git push之前在本地修改的时候,可以使用git commit --amend,而不是git commit -m "新的信息",这样可以把修改改在上一个commit上,然后再push就会更新commit而不是创建新的 |
通过网盘分享的文件:models.zip |
网盘里的包下载打开后,mnist这个目录中的图片是: |
imagex和image_real_x的图片两个并没有任何关系,只是恰好出现在一个batch_size里 |
当向不了解生成对抗网络(GAN)的人解释为什么在每个batch size中真实图片和生成的图片并不一样,不能使用均方误差(MSE)损失评估时,可以这样来解释: 想象你正在教一个孩子画画。这个孩子刚开始学习如何画猫。每次你给他看一张真实的猫的照片,并让他尝试画出这张照片中的猫。但这里有个问题:孩子每次画出来的猫都不一样,而且与任何他之前看到的真实猫的照片也不完全相同。 如果我们用一种非常简单的方式来评价孩子的作品,比如说“看看你的画和这张照片里的猫有多接近”,我们实际上是在测量两幅图像之间的像素差异——这就像MSE损失所做的。但是,在这种情况下,这种方法并不是很有帮助,因为目标不是让孩子精确地复制每一张照片,而是要让他们能够画出看起来像猫的图像,即使这些图像没有一张与特定的照片一模一样。 在GANs中,生成器的任务是创建看起来逼真的图像,而不是精确复制训练集中的图像。因此,使用MSE这样的度量标准来比较生成的图像和真实图像并不合适,因为它会惩罚那些虽然看起来很真实但与具体某张训练图像不同的生成结果。相反,GANs使用了一种更智能的方法,即通过判别器网络来判断一张图像是来自真实数据分布还是由生成器创造的,从而引导生成器产生更加逼真的图像。 总结来说,关键点在于GAN的目标是让生成的图像具有足够的真实感,而不是让它们与某个特定的真实图像尽可能相似。这就需要采用不同于MSE的评价方法,比如对抗性损失,来指导模型的学习过程。 |
好的,明白了,谢谢 |
老师距离上次提交已经过了4个工作日了,还有需要修改的地方吗? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
运行结果上没什么问题了,但是还有下面这些点可能容易让人疑惑,还可以再优化一下吗?
另外改完之后点resolved就行,不用再逐条回复了,谢谢
examples/wgangp/wgangp_cifar10.py
Outdated
for i in range( | ||
cfg["EVAL"]["batch_size"] | ||
if cfg["EVAL"]["batch_size"] < cfg.VIS.num | ||
else cfg.VIS.num | ||
): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个应该是因为batch_size变为1之后影响了BatchNorm,测试了一下batch_size最少要在8左右基本对结果没有影响。另外还有个问题是为什么batch_size变为1之后,eval过程的loss值没有变化(且都很大),我看代码loss里是判断的当前图片和真实图片的判别器结果的差异,所以说不论batch_size变不变,判别器都认为是假图片吗
”这个应该是因为batch_size变为1之后影响了BatchNorm,测试了一下batch_size最少要在8左右基本对结果没有影响。“ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
PR types
New Features
PR changes
Others
Describe
Add wgangp