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 srgan.py train to launch the training (the dataset and everything will be downloaded automatically).
For instance, here are the results of my implementation given a picture after 2000 epochs:
Result of my implementation
Result of letsenhance.io
As you can see my implementation make the picture even worse by adding few colored pixels. I’m very far from the results of letsenhance.io .
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.
Thank you everyone