This project aims at clarifying what is the impact of the loss function in the accuracy of a Real-time Domain Adaptation in Semantic Segmentation model, using adversarial networks, and with class imbalance. By comparing three different loss types and comparing the results, it became clear that using different functions to calculate the loss while training produces severely different analysis.
To run this project:
- Download all of it's files
- Open the training.ipynb file and change the directory parameter to your installation folder
- If you want to train the model or validade a checkpoint, you need to set the "Analysis mode" argument to False.
- To train the model without the use of a checkpoint you need to set the "Use Checkpoints" parameter on the Main() to "False".
- If something happened to your execution and you want to use the checkpoint, set the "Use Checkpoints" parameter on the Main() to "True".
- When calling the Main() you can set lists with different parameters in order to train the network in different modes automatically.
- This project was meant to run on a GPU, running it on the CPU will not be possible.
- The checkpoints are saved in the checkpoint folder.
- The results of the validations are saved in .txt files inside the validations folder.