Skip to content

Latest commit

 

History

History
39 lines (21 loc) · 1.71 KB

README.md

File metadata and controls

39 lines (21 loc) · 1.71 KB

Introduction

Semantic Segmentation

Semantic segmentation is the task of assigning each pixel a class. Many different methods are proposed for the same. This a pytorch implementation of this paper. To know in more detail about the implementation and method refer to my blog post.

Requirements

  • pytorch 1.1
  • visdom
  • python3

Highlights

  • Model can be distributed over many GPUs: pytorch provides the facility to divide data into various GPUs and train the network parallely. But here you can divide the model in various GPUs.
  • Live Data Visualization: You can visualize the training curve live using visdom.
  • Flexible to remove and add GCU units.

TO DO

  • Give flexiblity to use number of GPUs or to run only on CPU, currently model uses 2 GPUs.
  • Upload checkpoint files
  • Optimize code

Training

Download data set from here. Place all the training images in data/ADEChallengeData2016/images/training and ground truth of segmentation in data/ADEChallengeData2016/annotations/training.

To put the network to training use the command below. Hyperparameters can be changed by giving inputs via terminal. Please go through the file train.py for knowing about hyperparameters

python3 train.py

The network was trained on RTX 2080. It took around 12 hrs to train. Training loss plot is given below. Training Loss