fpn.pytorch
fpn.pytorch copied to clipboard
Pytorch implementation of Feature Pyramid Network (FPN) for Object Detection
fpn.pytorch Pytorch implementation of Feature Pyramid Network (FPN) for Object Detection
Introduction
This project inherits the property of our pytorch implementation of faster r-cnn. Hence, it also has the following unique features:
-
It is pure Pytorch code. We convert all the numpy implementations to pytorch.
-
It supports trainig batchsize > 1. We revise all the layers, including dataloader, rpn, roi-pooling, etc., to train with multiple images at each iteration.
-
It supports multiple GPUs. We use a multiple GPU wrapper (nn.DataParallel here) to make it flexible to use one or more GPUs, as a merit of the above two features.
-
It supports three pooling methods. We integrate three pooling methods: roi pooing, roi align and roi crop. Besides, we convert them to support multi-image batch training.
Benchmarking
We benchmark our code thoroughly on three datasets: pascal voc, coco. Below are the results:
1). PASCAL VOC 2007 (Train/Test: 07trainval/07test, scale=600, ROI Align)
| model | GPUs | Batch Size | lr | lr_decay | max_epoch | Speed/epoch | Memory/GPU | mAP |
|---|---|---|---|---|---|---|---|---|
| Res-101 | 8 TitanX | 24 | 1e-2 | 10 | 12 | 0.22 hr | 9688MB | 74.2 |
Results on coco are on the way.