https://github.com/vidit98/graphconv
pytorch implementation of graph convolutions for semantic segmentation on ADE20K dataset
https://github.com/vidit98/graphconv
ade20k deeplearning graphconvoltution pytorch semantic-segmentation
Last synced: 6 months ago
JSON representation
pytorch implementation of graph convolutions for semantic segmentation on ADE20K dataset
- Host: GitHub
- URL: https://github.com/vidit98/graphconv
- Owner: vidit98
- Created: 2019-05-24T04:09:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-07T15:06:46.000Z (about 6 years ago)
- Last Synced: 2025-04-23T02:17:07.336Z (6 months ago)
- Topics: ade20k, deeplearning, graphconvoltution, pytorch, semantic-segmentation
- Language: Python
- Homepage:
- Size: 6.82 MB
- Stars: 16
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Introduction

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](https://papers.nips.cc/paper/8135-beyond-grids-learning-graph-representations-for-visual-recognition.pdf) paper. To know in more detail about the implementation and method refer to [my blog post](https://towardsdatascience.com/visual-recognition-using-graphs-9c446005736e).
## 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](https://groups.csail.mit.edu/vision/datasets/ADE20K/). 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.
