Flux.jl: Feature request: Conv3D

Created on 2 Jan 2018  路  8Comments  路  Source: FluxML/Flux.jl

We need a Conv3D layer, where the filters are 3D arrays (e.g. 10 by 10 by 10) and these are convolved over another 3D array (e.g 100 by 100 by 100) to yield a e.g. (90, 90, 90) map (assuming no padding). Would this be possible in Flux.jl?

help wanted

Most helpful comment

Thanks to @tejank10 this will be in the next release!

All 8 comments

It would certainly be possible, but we don't currently have any support for it. We'd need either a pure-Julia convolution operator for CPU, or a CUDNN wrapper for GPU. If someone wants to put this together it'd be a welcome addition.

Hi! I would like to take a crack at it. I am working on adding a pure-Julia convolution operator for CPU.

Great! Let me know how I can help. Might be useful to have ImageFiltering.jl as a reference.

I was wondering, wouldn't it be a good idea of adding 3D versions of im2col and other functions from conv.cpp?

That would certainly work and would be an acceptable approach. I think it'd be much easier to write something in Julia though, and it'd be easy to make that handle any number of dimensions.

Hey, @MikeInnes! I have opened PR #27 in NNlib. Please review it.

Is there anything wrong with the PR?

Thanks to @tejank10 this will be in the next release!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ssfrr picture ssfrr  路  5Comments

MikeInnes picture MikeInnes  路  3Comments

logankilpatrick picture logankilpatrick  路  6Comments

KristofferC picture KristofferC  路  4Comments

philip-bl picture philip-bl  路  3Comments