/FCN

Primary LanguagePython

FCN on KITTI dataset

The program performs semantic segmentation on KITTI dataset.

Data loader, model, multi-GPU training, evaluation and visualization are all involved in the implementation. The data loader and model part are flexible.

Install the requirements first.

pip install -r requirements.txt

To run the code, read the help first. Or, you can directly run train.py and see what will happen.

python train.py -h
usage: train.py [-h] [--batch-size N] [--split Split] [--resize-ratio Resize]
                [--numloader Nl] [--epochs E] [--lr Lr] [--lr-pretrain LR-P]
                [--momentum M] [--decay D] [--step Step] [--gamma Gamma]
                [--logdir Log] [--vgg Vgg] [--fcn FCN] [--mode Mode]
                [--model Model]

pytorch FCN on Kitti data set

optional arguments:
  -h, --help            show this help message and exit
  --batch-size N        the training batch size(default: 8)
  --split Split         the split ratio indicates how much percentage of train
                        set, the rest will for validation (default: 0.8)
  --resize-ratio Resize
                        how much ratio to resize(shrink) the training
                        image(default: 0.6)
  --numloader Nl        the num of CPU for data loading. 0 means only use one
                        CPU. (default: 8)
  --epochs E            the required total training epochs(default: 100)
  --lr Lr               the learning rate for decoder part(default: 1e-3)
  --lr-pretrain LR-P    the learning rate for encoder(pre-trained)
                        part(default: 1e-4)
  --momentum M          the momentum of optimizer(default: 0)
  --decay D             the weight for L2 regularization(default: 1e-5)
  --step Step           learning rate will decay after the step(default: 10)
  --gamma Gamma         learning rate will decay gamma percent after few
                        steps(default: 0.5)
  --logdir Log          the folder to store the tensorboard logs(default: log)
  --vgg Vgg             the configuration of vgg(default: 11)
  --fcn FCN             the configuration of FCN(default: 1)
  --mode Mode           train or test(default: train)
  --model Model         the pre-trained model or the model for test. if not
                        specify, it will initial a new model (default: )

The training model of each epoch will be stored on your drive (in ./store folder).

Run tensorboard to tracing the training state:

tensorboard --logdir log