Beginners' Information

From Upscale Wiki
Revision as of 21:35, 22 August 2019 by FelesNoctis (talk | contribs) (Updated internal links.)

(diff) ← Older revision | Approved revision (diff) | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.

Getting started

ESRGAN

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.

Custom Models

You can find them in our Model Database.

Installation

If you want to know how to install it, you will find a guide to install ESRGAN for Windows here and one for installing ESRGAN as well as BasicSR for Arch Linux / Manjaro is here.

Training

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.

Automation

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.

Bash

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.