HsinYingLee / DRIT

Learning diverse image-to-image translation from unpaired data
844 stars 155 forks source link

content discriminator training vs other parts training #52

Open CaptainPrice12 opened 4 years ago

CaptainPrice12 commented 4 years ago

Hi, thanks for sharing the impressive work. I have a question about the network updating strategy in the train.py file. For if (it + 1) % opts.d_iter != 0 and it < len(train_loader) - 2: https://github.com/HsinYingLee/DRIT/blob/f19f50a8fa5f28dffbd93a0ed034da616232d769/src/train.py#L47

if d_iter is set as 3, in each epoch, the content discriminator will be updated using almost 2/3 of the total batches, and the model.update_D(images_a, images_b) and model.update_EG() will be updated using only about 1/3 of total data, right? In each epoch, the model.update_D(images_a, images_b) and model.update_EG() two parts will only be feed 1 batch in each 3, so, why don't use the same batches to update these three parts? For example, use every batch to update these three parts, but the content discriminator part can be trained multiple times (e.g. 2 times if d_iter=3) by every batch.

I am new to GAN, if I have any misunderstanding, please correct me, thanks!

GuoLanqing commented 4 years ago

Hi, have you solved this problem? I am also confused about this training setting.

CaptainPrice12 commented 4 years ago

Hi, have you solved this problem? I am also confused about this training setting.

I am still not sure why using this strategy, In many other works, I think they used the same data to train adversarial parts and main parts. Have you got any idea about this?