alexzhou907 / DDBM

119 stars 12 forks source link

How to run our own dataset #3

Open HDareYR opened 4 months ago

HDareYR commented 4 months ago

Thanks for your great work, I want to konw if the work could been used with unpaired dataset ,and if I use my own dataset, is there anything I need to change like load_data() in DDBM-main\ datassets __init__.py

harveymannering commented 3 months ago

I have tried using this repo on the AFHQ dataset (unpaired animal faces) and it did require changing the load_data() function, yeah. You will also need to create a new dataloader for your own dataset.

I trained the model to convert dogs to cats. However, when I ran inference from the following dog images, I got the corresponding cat images:

image

As you can see, there aren't really strong similarities between the input and output images like you would expect in something like CycleGAN. It's possible I just didn't train the model long enough, or the architecture was too small, or I used the wrong parameters. Either way, I haven't been able to get it to work for unpaired data, but I would be interested to hear if anyone has been able to get this to work, especially the authors.

alexzhou907 commented 2 months ago

Sorry for the late reply. For unpaired translation this work would not work because it does not solve the Schrodinger bridge problem where you have a coupled forward and backward process to be learned jointly (https://arxiv.org/abs/2110.11291, https://arxiv.org/pdf/2106.01357). But these algorithms are difficult to scale due to some kinds of iterative sampling algorithms during training, so we opt to fix the forward process while learning the reverse, which makes learning simulation-free. But this does deviate from solving optimal transport. Instead, this only learns how to start from arbitrary prior given by data, and no guarantee on the generated samples have optimal coupling with your starting sample.