/AI-Segmentations

Primary LanguageJupyter Notebook

AI End Course Project

Table of contents

  1. Documentation
  2. Available Features
  3. Installation
  4. Train
  5. Inference
  6. Logs and Visualization

Documentation

Unet is the most well-known segmentation network for segmentation. It was first designed to adapt the biomedical image domain. In this project, we will test the performance of UNet with an urban city datasets - Cityscapes
All documents related to this repo can be found here:

Available Features

  • Baseline Code
  • Clean and CLI interaction

Installation

pip install -r requirements.txt

Train

  1. Prepare your dataset

    • First, move into .notebook directory and find data_prepare.ipynb notebook, run first 4 cells to download the Cityscapes dataset. You'll need to have an account. Sign up for a new account at Cityscapes's Homepage
    • After this, it will automatically download and split the datasets into train, val and test subsets. The dataset's size is about 11GB.
  2. This project will be updated for CLI interaction, but now, if you want to change the model architechture, hyperparameters and so on ... Please modify it in python code train.py

  3. Run

    • Start training from scratch:

      python train.py
      
    • This project support several model architechture:

      • FCN , UNet , UNet with ResNet encoder , PSPNet, DeepLabv3.

Inference

usage: test.py

Logs and Visualization

The logs during the training will be stored, and you can visualize it using TensorBoard by running this command:

tensorboard --logdir ~/saved/<project_name>

# specify a port 8080
tensorboard --logdir ~/saved/<project_name> --port 8080