Theano/libgpuarray

Incorrect convolution results.

Closed this issue · 1 comments

Following code works on CPU (device=cpu) and with old theano backend (device=gpu), but not with new one (device=cuda). Am I doing something wrong? Everything compiles, there are no errors, but the results of conv_out are totally incorrect.

from theano.tensor.nnet import conv2d
...
x_in = x.reshape(ishape,ndim=4)
conv_out = conv2d(input=x_in, filters=filters, filter_shape=fshape, input_shape=ishape)
i = T.lscalar()

fconvout = theano.function(
[i], conv_out,
givens={
x:
training_x[i*mini_batch_size: (i+1)*mini_batch_size]
})
...

nouiz commented

This is an Theano issue, so I'll close this one here. You can make another one on Theano.

I don't see problems with what you do. Make sure to use Theano dev version and libgpuarray dev version. Maybe it was fixed? I don't recall such fix however.

If you want more help, make a small reproducable code that we can run and give the data, errors you get.

Note, float number aren't exact number, so small changes of values can happen for many reasons.