Closed szagoruyko closed 10 years ago
awesome! How much slower is it? Is it significantly slower or just slightly...
@soumith when I run tests the ratio is different, sometimes 0.5, sometimes 2.0, even with big nloop. But I guess comparing to SpatialConvolution this difference is a drop in an ocean.
yes correct, also, the tests dont actively reflect the speedup that alex optimized for (to test speedup, you have to use batchsize 128 and x*32 output feature maps)
@soumith ok, got it. by the way, do you know if other modules are going to be ready soon? I plan to work on normalizations and locally connected layers
unfortunately i am in a grey area right now, as i just switched workplaces, so at least for the next few weeks i'm not sure if i can work on this. there is another fork by @adampolyak where he seems to have implemented local unshared conv layer, maybe you can get in touch with him?
@soumith I will try, thanks!
I finished implementing the local unshared conv layer. I will pull request it once I'll finish testing it.
By the way, maybe you guys have an idea for a way to check LocalSpatialConvolution? Torch doesn't implement it.
@adampolyak have you tried nn.Jacobian? I also have code for unshared forward (not batch) convolution on CPU
@adampolyak it is here: https://github.com/szagoruyko/nn I haven't finished it. named SpatialConvolutionLocal, only forward works.
I tried using nn.Jacobian but apparently it doesn't work well with CudaTensor (cunn doesn't have Jacobian tests). It works only when using with DoubleTensors.
When running Jacboian tests I get the following err for LocalConvolutionLatyer: LT(<) violation _val=0.11865755164763_, condition=1e-05
I'll test the forwarding code using your nn branch, any ideas on how to check back propagation?
p.s.
@adampolyak I got the same problem with SpatialMaxPooling, condition 1e-05 is violated, val = 0.01 Given that ccn2.SpatialConvolution outputs are tested to be equal to cunn.SpatialConvolutionCUDA outputs and such error is normal for cunn, it should be normal for ccn2 also Can you do a quick test it for the issue reported here: https://github.com/soumith/cuda-convnet2.torch/issues/10 ?
fixed the jacobian tests. https://github.com/soumith/cuda-convnet2.torch/blob/master/test/test.lua#L203
It seems that it is slower than cunn version, I don't know why.