Home

Awesome

Based on jwyang/fpn.pytorch, i change little code to get a more reasonable mAP when training pascal voc 2007 and 07+12. Pytorch implementation of Feature Pyramid Network (FPN) for Object Detection.

Introduction

This project inherits the property of our jwyang/fpn.pytorch.Hence, you can see more information about it.The following things are what I did :

Benchmarking

I benchmark this code thoroughly on pascal voc2007 and 07+12. Below are the results:

1). PASCAL VOC 2007 (Train/Test: 07trainval/07test, scale=600, ROI Align,

modelGPUsBatch Sizelrlr_decaymax_epochSpeed/epochMemory/GPUmAP
Res-101  1 GTX 1080 (Ti)21e-310120.22 hr6137MB75.7

2). PASCAL VOC 07+12 (Train/Test: 07+12trainval/07test, scale=600, ROI Align)

modelGPUsBatch Sizelrlr_decaymax_epochSpeed/epochMemory/GPUmAP
Res-1011 GTX 1080 (Ti)11e-31012\9011MB80.5

Preparation

First of all, clone the code

git clone https://github.com/guoruoqian/FPN_Pytorch.git

Then, create a folder:

cd FPN_Pytorch && mkdir data

prerequisites

Data Preparation

Pretrained Model & Compilation

​ Please follow the instructions in Pretrained Model and Compilation.

Usage

train voc2007:

CUDA_VISIBLE_DEVICES=3 python3 trainval_net.py exp_name --dataset pascal_voc --net res101 --bs 2 --nw 4 --lr 1e-3 --epochs 12 --save_dir weights --cuda --use_tfboard True

test voc2007:

CUDA_VISIBLE_DEVICES=3 python3 test_net.py exp_name --dataset pascal_voc --net res101 --checksession 1 --checkepoch 7 --checkpoint 5010 --cuda --load_dir weights

train voc07+12:

CUDA_VISIBLE_DEVICES=3 python3 trainval_net.py exp_name2 --dataset pascal_voc_0712 --net res101 --bs 2 --nw 4 --lr 1e-3 --epochs 12 --save_dir weights --cuda --use_tfboard True