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

Pooling support for 5D or ND-Blobs #5048

Open
henzler opened this issue Nov 30, 2016 · 11 comments
Open

Pooling support for 5D or ND-Blobs #5048

henzler opened this issue Nov 30, 2016 · 11 comments

Comments

@henzler
Copy link

henzler commented Nov 30, 2016

It is possible to have ND-Blobs but when it comes to pooling caffe does not support Blobs of any other dimension but 4D.

Check failed: 4 == bottom[0]->num_axes() (4 vs. 5) Input must have 4 axes, corresponding to (num, channels, height, width)

Can you add ND-pooling support?

@shaibagon
Copy link
Member

I would like to "up vote" this request. Caffe moved to support ND arrays long ago. This transition included a change to "Blob" data structure and to many layers, especially to "Convolution" layer.
However, "Pooling" layer currently is restricted to "legacy" 4D blobs only, which really restricts the deployment of caffe to more challenging domain, e.g., video processing, 3D medical scans etc.

Please see this SO thread related to this issue.

@naibaf7
Copy link
Member

naibaf7 commented Nov 30, 2016

@thigitogatiamas @shaibagon
Full ND support for Pooling is available for quite some time for both CUDA and OpenCL in the OpenCL Caffe branch. Not sure when the transition will be concluded for the master branch.
I'm currently working on some performance and corner case improvements for it.

@bhack
Copy link
Contributor

bhack commented Nov 30, 2016

...And then libdnn porting right? ;)

@naibaf7
Copy link
Member

naibaf7 commented Nov 30, 2016

@bhack
LibDNN already has a ND-pooling engine superior to that of Caffe. I'm currently fixing some corner cases and improving it, so that it can be signed off for the standalone LibDNN :); all according to the timeplan we communicated earlier :)

@bhack
Copy link
Contributor

bhack commented Nov 30, 2016

Yes but can we plan to change names at some point? Libdnn it is becoming ambiguous

@naibaf7
Copy link
Member

naibaf7 commented Nov 30, 2016

@bhack Change the name of what where? I mean within Caffe, LibDNN is identical to the standalone. The reason I can't use the standalone in Caffe is because standalone exports some Caffe functionality to use with other frameworks...

@bhack
Copy link
Contributor

bhack commented Nov 30, 2016

Yes the problem is that we use the same name for an artifact that is conceptually the same but for tuning requirements is not in sync cause there is need to duplicate functionalites already in Caffe to let execute the tuning and all the other bootstrap stuffs.

@shaibagon
Copy link
Member

@bhack @naibaf7 I lost you here... Can you give an estimate to a commoner when is ND pooling expected to be part of caffe/master?

Thank you very much for all your efforts developing and driving caffe forward!

@bhack
Copy link
Contributor

bhack commented Dec 1, 2016

@shaibagon Nevermind. I've have created some noise in the thread talking about https://github.com/naibaf7/libdnn that is the standalone version of what you are waiting in caffe master.

@naibaf7
Copy link
Member

naibaf7 commented Dec 1, 2016

@shaibagon
Yes, sorry, ND support is here: https://github.com/BVLC/caffe/tree/opencl

@sajjo79
Copy link

sajjo79 commented Oct 26, 2017

Hi,
I am trying to figure out the 3D convolution and pooling in caffer master branch. Is there any such support available?

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

No branches or pull requests

5 participants