Implementing SRGAN

(Tuatini GODARD) #1

Hello everyone,
I tried to implement the SRGAN paper as well as SRPGAN and everything “works” for now. I say “works” because it works in the sense that everything fit well together but somehow my implementation is not working. Here is an overview of how my losses behave:

And my metrics:

As you can see the adversarial/discriminator losses doesn’t behave as I would expect.
I spent weeks on trying to make this implementation works and I helped myself with this implementation and this one as well as reading and rereading the paper but I still miss something…

My SRGAN implementation can be found here and is ready to use. You just have to clone the repo, install the dependencies in your env with pip install -r requirements.txt, install Pytorch 0.3.1 and execute python train to launch the training (the dataset and everything will be downloaded automatically).

My goal for this implementation is to be able to have something working to host it on Algorithmia and then I’ll create a frontend website to “showcase” it, pretty much like

For instance, here are the results of my implementation given a picture after 2000 epochs:

Original image

Result of my implementation

Result of

As you can see my implementation make the picture even worse by adding few colored pixels. I’m very far from the results of .

So I wanted to ask if one of you guys knows how to solve this issue or even if one is willing to embark with me on this journey of having this implementation working. I have a great background in CS but as for math… it’s another story.

The implementation of my generator loss can be found here and the optimization/discriminator loss here

Thank you everyone :slight_smile: