SPP layer could be added in CNN model between convolutional layer and fully-connected lay, so that you can input multi-size images into your CNN model.
The function spatial_pyramid_pool()
in file spp_layer.py
is independent. It could be added in your own models.
See this:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
SPP_Layer.py
provides a torch.nn.Module of spp_layer which can be inserted into any models very easily.