This repo contains the implementation of Region of Interest pooling as a custom TensorFlow operation. The CUDA code responsible for the computations was largely taken from the original Caffe implementation by Ross Girshick.
For more information about RoI pooling you can check out Region of interest pooling explained at our deepsense.io blog.
Region of Interest Pooling animation
To compile and use roi_pooling layer you need to have:
- CUDA (tested with 8.0)
- https://www.tensorflow.org/ (tested with 0.12.0 and 1.0.0)
Only official TensorFlow releases are currently supported. If you're using a custom built TensorFlow compiled with a different GCC version (e.g. 5.X) you may need to modify the makefile to enable the new ABI version.
Since it uses compilation
$ git clone git@github.com:deepsense-io/roi-pooling.git
$ cd roi-pooling
$ python setup.py installRight now we provide only GPU implementation (no CPU at this time).
After successful installation you can use the operation like this:
from roi_pooling.roi_pooling_ops import roi_pooling # here obtain feature map and regions of interest rpooling = roi_pooling(feature_map, rois, 7, 7) # continue the model
Working example in Jupyter Notebook: examples/roi_pooling_minimal_example.ipynb