Skip to content

Conversation

@ddetone
Copy link

@ddetone ddetone commented Apr 8, 2015

Here is a layer that implements 3D convolution. I essentially used a lot of the 2D convolution code as a guideline, and extended it to 3 dimensions. My implementation uses a vol2col utility function that is very similar the im2col (wasteful on memory but simple and pretty fast).

The layer, "Convolution3DLayer" inherits directly from "Layer", rather than "BaseConvolutionLayer".

Feedback appreciated! I'd be happy to move stuff around to have it fit best how everyone sees fit.

Next up:
-3D Max Pooling

@shelhamer
Copy link
Member

@ddetone have a look at the N-D convolution in #2049 and compare -- is there an advantage to your layer in the 3-D case? Thanks for sending a PR.

There isn't any 3-D or N-D pooling yet, so that will be a welcome improvement.

@ddetone
Copy link
Author

ddetone commented Apr 13, 2015

I didn't know about the N-D convolution branch. Cool! The implementation in #2049 is certainly more elegant than mine. I'll experiment with the N-D convolution branch and see if I can compare performance.

@shelhamer
Copy link
Member

Closed in favor of #2049, further tuned in #3452.

@shelhamer shelhamer closed this Feb 25, 2016
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