Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PyramidLevelLayer for spatial pyramid pooling [under development, don't merge] #641

Closed
wants to merge 1 commit into from

Conversation

ronghanghu
Copy link
Member

Note: DO NOT use the code now, for it is incomplete and under development.

This is a PyramidLevelLayer implementation, which can be used to build spatial pyramids, especially designed for #560 (Spatial Pyramid Pooling).

The pooling region is calculated in the following way:

A pooling region starts with hstart (include) and ends with hend (exclude):
hstart = floor(ph * bin_size_h_)
hend = ceil((ph + 1) * bin_size_h_)
where bin_size_h_ = float(bottom[0]->height()) / bin_num_h_ is float-point bin length
and similar for wstart and wend

I will add tests and update.

@ronghanghu
Copy link
Member Author

@kloudkl this is my implementation for PyramidLevelLayer (still under development, haven't been tested yet). Once tested, it can be used for spatial pyramid pooling.

@kloudkl
Copy link
Contributor

kloudkl commented Jul 8, 2014

The first version of #560 looked exactly like what you did here. It copied the related layers instead of directly re-using them. Please refer to @shelhamer's and @Yangqing's comments on the original implementation of #560.

The latter was deleted but still sent to my email. The words are pasted here FYI.
I agree with @shelhamer ... Spatial pooling should most likely be carried out by normal pooling layers followed by a concatenation layer (we can write one if it does not exist). The current solution provides too much duplicated code - essentially another pooling function.

Please help review a simpler solution in a189891 "Pooling layer allows float heights and widths for kernels and strides". It builds upon your rectangular pooling layer. Thanks!

@ronghanghu ronghanghu closed this Jul 28, 2014
@ronghanghu ronghanghu deleted the pyramid_level_layer branch July 28, 2014 23:36
@ronghanghu ronghanghu restored the pyramid_level_layer branch July 28, 2014 23:36
@ronghanghu ronghanghu deleted the pyramid_level_layer branch August 18, 2014 00:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants