Our segmentation code is based on pytorch-deeplab-xception.
- tqdm
- matplotlib
- pillow
Teacher | Student | Teacher size | Student size | Size ratio |
---|---|---|---|---|
ResNet 101 | ResNet 18 | 59.3M | 16.6 | 28.0% |
ResNet 101 | MobileNetV2 | 59.3M | 5.8M | 9.8% |
Download following pre-trained teacher network and put it into ./Segmentation/pretrained
directory
We used pre-trained model in pytorch-deeplab-xception for teacher network.
-
First, move to segmentation folder :
cd Segmentation
-
Next, configure your dataset path on
Segmentation/mypath.py
-
Without distillation
- ResNet 18
CUDA_VISIBLE_DEVICES=0,1 python train.py --backbone resnet18 --gpu-ids 0,1 --dataset pascal --use-sbd --nesterov
- MobileNetV2
CUDA_VISIBLE_DEVICES=0,1 python train.py --backbone mobilenet --gpu-ids 0,1 --dataset pascal --use-sbd --nesterov
-
Distillation
- ResNet 18
CUDA_VISIBLE_DEVICES=0,1 python train_with_distillation.py --backbone resnet18 --gpu-ids 0,1 --dataset pascal --use-sbd --nesterov
-MobileNetV2
CUDA_VISIBLE_DEVICES=0,1 python train_with_distillation.py --backbone mobilenet --gpu-ids 0,1 --dataset pascal --use-sbd --nesterov
This numbers are based validation performance of our code.
- ResNet 18
Network | Method | mIOU |
---|---|---|
ResNet 101 | Teacher | 77.89 |
ResNet 18 | Original | 72.07 |
ResNet 18 | Proposed | 73.98 |
- MobileNetV2
Network | Method | mIOU |
---|---|---|
ResNet 101 | Teacher | 77.89 |
MobileNetV2 | Original | 68.46 |
MobileNetV2 | Proposed | 71.19 |
In the paper, we reported performance on the test set, but our code measures the performance on the val set. Therefore, the performance on code is not same as the paper. If you want accurate measure, please measure performance on test set with Pascal VOC evaluation server.