-
Notifications
You must be signed in to change notification settings - Fork 465
ROI pooling layer only supports the case that batch size equals to 1? #52
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
It supports batch_size > 1. You can comment the if statement in roi_pooling_cuda.c and rebuild it. |
@longcw @JeffCHEN2017 |
Yes, it supports as long as you comment the codes in row_pooling_cuda.c. Please read the code for details. And I have been using it for a while and so far so good. |
@JeffCHEN2017 , @longcw, can you please elaborate how you managed to train with multiple batch size? As you guys suggested, I re-ran roi_pooling_cuda.c by commenting out the relevant lines. Then, I changed IMS_PER_BATCH: 4 in
Then, I commented out relevant assert lines, and finally got another error:
Seems like it can't load boxes? Have you experiences anything likes this? If so, how did you manage to solve it? |
FWIW, there is also a subtle bug in the cuda backwards code for roi pooling that manifests itself only when batch size is > 1: This line
== (c * height + h) * width + w instead of == index , or else gradients will be propagated only into the first element of the batch. Discovered this issue while using roi pooling layer for another project.
|
From the source code(roi_pooling_cuda.c) and my naive experiments, it seems that the RoI pooling layer only support batch size equals to one. Does anyone know why?
The text was updated successfully, but these errors were encountered: