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.
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 install
Right 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