The PyTorch detector that tells you to use Detectron2
It reimplemented Faster R-CNN in pure PyTorch to speed up training with multi-GPU and batch support, though the author now admits it has been superseded by newer frameworks.

What it does
This is a ground-up PyTorch rewrite of the Faster R-CNN two-stage object detector, built to accelerate training by replacing NumPy operations with native tensors. It supports multi-image batches and multi-GPU training via nn.DataParallel, and the authors validated it on PASCAL VOC, COCO, and Visual Genome using VGG16 and ResNet101 backbones.
The interesting bit
At launch, this was one of the first open-source object detection codebases to support multi-GPU training in PyTorch. To squeeze more into GPU memory, it groups images with similar aspect ratios into the same minibatch—enough to fit ResNet101 with batch size 4 on a single 12 GB Titan X, or 24 images spread across eight GPUs.
Key highlights
- Pure PyTorch implementation of the dataloader, RPN, and ROI layers—no NumPy required.
- Three pooling methods—ROI pooling, ROI align, and ROI crop—all adapted to work with multi-image batches.
- Detailed benchmarking tables covering training time per epoch, memory per GPU, and mAP on standard datasets.
- A PyTorch 1.0 branch exists, though the mainline targets PyTorch 0.4.0 and borrows techniques from
maskrcnn-benchmark. - Pretrained weights available for VGG16 and ResNet101; the authors note Caffe-pretrained models score slightly higher than PyTorch-native ones.
Caveats
- The author explicitly states the repo is out-of-date in pipeline and coding style and is no longer actively maintained as of May 2020, directing users to
detectron2,mmdetection, ormaskrcnn-benchmarkinstead. - The main branch is pinned to PyTorch 0.4.0 and will not run on newer releases; CUDA extensions require manual compilation with GPU-architecture-specific flags.
- Reproducing the published mAP numbers requires using the older Caffe-pretrained backbone weights rather than modern PyTorch ones.
Verdict
Useful as a historical reference or a teaching tool for pure-PyTorch two-stage detection internals, but follow the maintainer’s advice and start new work in a modern framework.
Frequently asked
- What is jwyang/faster-rcnn.pytorch?
- It reimplemented Faster R-CNN in pure PyTorch to speed up training with multi-GPU and batch support, though the author now admits it has been superseded by newer frameworks.
- Is faster-rcnn.pytorch open source?
- Yes — jwyang/faster-rcnn.pytorch is open source, released under the MIT license.
- What language is faster-rcnn.pytorch written in?
- jwyang/faster-rcnn.pytorch is primarily written in Python.
- How popular is faster-rcnn.pytorch?
- jwyang/faster-rcnn.pytorch has 7.9k stars on GitHub.
- Where can I find faster-rcnn.pytorch?
- jwyang/faster-rcnn.pytorch is on GitHub at https://github.com/jwyang/faster-rcnn.pytorch.