* created inverse gans
* added is_cuda check for train.py
* using --split=2 for inference (testing set)
* additional loss used by the original code author:
g_loss = criterion(outputs, real_labels) \
+ self.l2_coef * l2_loss(activation_fake, activation_real.detach()) \
+ self.l1_coef * l1_loss(fake_images, right_images)
* forward GAN:
* disc_loss = real_loss + fake_loss + wrong_loss(cls)(wrong image + right embedding)
* gen_loss = g_loss
* inverse GAN:
* disc_loss = real_loss + fake_loss + wrong_loss(cls)(wrong embedding + right image)
* gen_loss = criterion(outputs, real_labels) # that's it?
* cls: what would cls loss be for disc_loss in inverse GAN?
- prepare dataset COCO (dataloader function)
- generate word embeddings (using skip thought or gensim?)
- GAN for image generation from word embeddings
- GAN for caption generation
- Cycle GAN structure