cyclomon / UNSB

Official Repository of "Unpaired Image-to-Image Translation via Neural Schrödinger Bridge" (ICLR 2024)
MIT License
154 stars 5 forks source link

Two datasets #7

Closed mundmitry closed 1 year ago

mundmitry commented 1 year ago

Hi! why two datasets are used for training and testing?

1202kbs commented 1 year ago

Hi :) It's because we are doing domain translation, which basically means we want to translate one dataset to another. So, to train and evaluate the model, we need two datasets :

doanthinhvo commented 1 year ago

Hi :) As I has observed in your code, the dataset in your train.py scripts is actually a dataloader of unaligned_dataset. The unaligned_dataset returns a dict contains 2 images of images, one from source dataset A, one from dataset B. i.e. One dataset is enough if we want to do something like domain translation. In addition, I check what does dataset2 do? It seems used to calculate real_A_noisy2, XtXt2. I guess these guy are used to boost the loss function of SB. Did you mean by that? P/s: Really appreciate your work. Many thanks in advance

mundmitry commented 1 year ago

Hi :) It's because we are doing domain translation, which basically means we want to translate one dataset to another. So, to train and evaluate the model, we need two datasets :

* the source dataset, which is the set of images we wish to translate from (horse dataset in the case of horse2zebra)

* the target dataset, which is the set of images we wish to translate to (zebra dataset in the case of horse2zebra)

thanks for the answer:) I understand that two datasets are needed for training, my question was about the test.py file, I don’t understand why two datasets are used at the testing stage, when there is already a trained model