I am trying to run a 3D convolutional neural network using theano, however I am not completely sure of the usage of the function theano.tensor.nnet.Conv3d
.
I am used to using lasagne, however due to not having access to a GPU at this time I am unable to use the lasagne.layers.dnn.Conv3DDNNLayer
function.
Is anyone able to advise me in terms of inputs and outputs what I need to do to be able to use the theano function? I have data in the form N x 9 x 9 x 9 with 1 channel, and have initialised the theano tensors. I have also created an input layer with lasagne like so:
input = lasagne.layers.InputLayer((None, 1, 9, 9, 9), input_var=input_var)
Any advice is very welcome! Thanks.
There is currently no 3D conv support in Lasagne other than cuDNN. However I have fork of lasagne that implements it: https://github.com/gyglim/Lasagne (Conv3DLayer)
Its outputs are identical with the ones from Conv3DDNNLayer.
There is also discussion about adding it to the core lasagne (see https://github.com/Lasagne/Lasagne/issues/27), but it hasn't happend yet.
Hope this helps.
Cheers, Michael