This code is a toolbox that uses PyTorch for training and evaluating the ERFNet architecture for semantic segmentation.
For instructions please refer to the README on each folder:
- train contains tools for training the network for semantic segmentation.
- eval contains tools for evaluating/visualizing the network's output.
- imagenet Contains script and model for pretraining ERFNet's encoder in Imagenet.
- trained_models Contains the trained models used in the papers. NOTE: the pytorch version is slightly different from the torch models.
- The Cityscapes dataset: Download the "leftImg8bit" for the RGB images and the "gtFine" for the labels. Please note that for training you should use the "_labelTrainIds" and not the "_labelIds", you can download the cityscapes scripts and use the conversor to generate trainIds from labelIds
- Python 3.6: If you don't have Python3.6 in your system, I recommend installing it with Anaconda
- PyTorch: Make sure to install the Pytorch version for Python 3.6 with CUDA support (code only tested for CUDA 8.0).
- Additional Python packages: numpy, matplotlib, Pillow, torchvision and visdom (optional for --visualize flag)
In Anaconda you can install with:
conda install numpy matplotlib torchvision Pillow
conda install -c conda-forge visdom
If you use Pip (make sure to have it configured for Python3.6) you can install with:
pip install numpy matplotlib torchvision Pillow visdom