junyanz / CycleGAN

Software that can generate photos from paintings, turn horses into zebras, perform style transfer, and more.
Other
12.22k stars 1.94k forks source link

Question about training GAN #129

Closed Rivendile closed 4 years ago

Rivendile commented 4 years ago

I found that it only forward once before update discriminator and generator per iteration in your code. However, in other papers, some forward respectively for D and G, e.g. MUNIT. Personally, I think the latter one is more reasonable. Could you please tell me what's the difference between this two kinds of pipeline? Or why do you forward only once per iteration? Thanks a lot.

junyanz commented 4 years ago

I didn't see a big difference regarding the quality of results between two implementations. The first one is slightly faster. If you want to do forward twice, you can just add an additionalself.forward().

Rivendile commented 4 years ago

Thanks for your reply! I think one is synchronous update, while the other is asynchronous update. It seems that the results are almost the same, as you say.

junyanz commented 4 years ago

Great. Feel free to try different update methods.