Closed raspstephan closed 3 years ago
I started building a first crude upscaling CNN. I used Pytorch Lightning for the training loop, etc. Coming from Keras, I didn't want to write all of the loop myself. Next step is to test it out on a GPU VM.
I switched to pure PyTorch and wrote my own training loop inside a Trainer class which is in models.py. The model itself is not particularly good but we should have a basic framework in place now.
I implemented an upscaling/generator network following the original SRGAN paper but without the batch norms which the ESRGAN paper argues degrades results in GAN training. This might of course not be applicable for plain MSE training, but whatever :p
I added a first experiment 001-Upscale
where I simply trained this network with tp --> tp for a few epochs. The results are saved in /dataloader/saved_models/
.
I also created a spreadsheet to log the experiments: https://docs.google.com/spreadsheets/d/1uSyeFesYIRLZzxfcNsje6DJpGd2XXWO6o7pAuFGjCvw/edit?usp=sharing
This is only a very first version but here are some things I noticed:
@anna-184702 @HirtM Since we now have a first CNN version I will close this issue. We can continue in #24
To start with our ML experiments, the easiest model we can build is probably a simple upsampling (=downscaling) CNN which simply contains a bunch of CNN and upsampling layers and is trained to minimize the RMSE. This won't be particularly good and will result in very washed out images but should beat the interpolation baseline.
We can do this once we have a first version of the data loader #10