Hi Pascal,
Thanks for the suggestion. Paradoxically though, I get 4 times worse
performance with nnet.conv2d: 21.3s vs 5.7s with the old nnet.conv.conv2d.
The new function constructor that I have:
from theano.tensor.nnet import conv2d
...
def prepare_function_conv(dxd, dyd):
flt = theano.shared(numpy.array([[[[0, dxd, 0], [dyd, 0, dyd], [0, dxd,
0]]]]))
u = T.dmatrix('u')
nx = u.shape[0]
ny = u.shape[1]
conv_res = conv2d(u.reshape((1, 1, nx, ny)), flt, border_mode='valid')
conv_res = conv_res.reshape((nx - 2, ny - 2))
u_new = T.set_subtensor(u[1:-1,1:-1], conv_res)
v = u_new - u
err = ((v**2).sum())**0.5 / u.size
lap_and_err = theano.function([u], [u_new, err])
return lap_and_err
--
---
You received this message because you are subscribed to the Google Groups
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.