In this page we list some resources that can be of interest for beginners, from using command line interfaces like Bash, to some neural networks basics.
ESRGAN has recieved a lot of love from our members. It can outperform pretty much everything else for one simple reason: We trained custom models for it.
You can find them in our Model Database.
For training you need to set up BasicSR. A guide for Arch Linux is included in the ESRGAN guide here.
A guide for installing BasicSR will be here once it is done, feel free to write one yourself if you have the time.
A guide how to train once you have installed BasicSR will be here once it is done, feel free to write one yourself if you have the time.
What is coming
At the moment one of our members (victorc) is working on his own BasicSR fork. Not only does it include a lot of changes to make training more efficient, it also has a lot of quality of life features added.
If you have trained a model before, then you have probably created your own dataset before. This included creating small tiles for training out of your source images for LR (Low resolution / the input) and HR (the Ground truth, what the model is supposed to reach). If you use Victorc's fork, you can now also use OTF training, this will let you skip the step of creating those small tiles. Instead you just point it to your source images and it will generate the training tiles on the fly and can even randomly degrade the LR tiles with Blur, JPG compression, Noise and some other degradations.
But there is even something even more exiting. Victorc has added support for the PPON architecture, which promises models that perform slightly better than ESRGAN ones, at a significantly lower training time. It also makes models modular parting them in 3 phases that can all be training without affecting the others or be interpolated between. That way you might only have to train one phase instead of the whole model. 10K iterations should be enough per phase.
Scripts like Bash or Python scripts are used to automate actions, like creating directories in the hard drive, cropping images or running an application iteratively to all files inside a directory, among many other uses.
And introduction to bash can be found here
General information about Neural Networks
ESRGAN and BasicSR are neural networks written in Python. Their architecture is a type of Convolutional Neural Networks (CNN), called Generative Adversarial Neural Network (GAN).
Generative Adversarial Neural Network (GAN)
For a simple explanation of what a Generative Adversarial Neural Network (GAN) is, here is an introduction.