I checked again in the source, and my understanding is that this should work the same as before, with "ignore_border" being used in the same way, but maybe there's an issue there.
There may be other changes elsewhere in Theano that could account for that.

Maybe you could use test values [1] in both versions, and try to isolate where the size mismatch starts.

[1] http://deeplearning.net/software/theano/tutorial/debug_faq.html#using-test-values

On 2018-05-08 02:23 AM, Antonio95100 wrote:
Hi again!
I'm not sure, but it seems that the "translation" provided an error later in the code, because I obtained a mismatching in the shapes and size with the following message:


/$~/VoxNet/voxnet/scripts$ python train.py config/shapenet10.py shapenet10_train.tar/
/Using cuDNN version 5105 on context None/
/Preallocating 11583/12192 Mb (0.950000) on cuda/
/Mapped name None to device cuda: TITAN X (Pascal) (0000:02:00.0)/
/2018-05-08 09:16:36,738 INFO| Metrics will be saved to metrics.jsonl/
/2018-05-08 09:16:36,738 INFO| Compiling theano functions.../
/2018-05-08 09:16:48,771 INFO| Training.../
/Traceback (most recent call last):/
/  File "train.py", line 184, in <module>/
/    main(args)/
/  File "train.py", line 152, in main/
/    lv = tfuncs['update_iter'](bi)/
/  File "/home/anaconda2/lib/python2.7/site-packages/theano/compile/function_module.py", line 917, in __call__/
/    storage_map=getattr(self.fn, 'storage_map', None))/
/  File "/home/anaconda2/lib/python2.7/site-packages/theano/gof/link.py", line 325, in raise_with_op/
/    reraise(exc_type, exc_value, exc_trace)/
/  File "/home/anaconda2/lib/python2.7/site-packages/theano/compile/function_module.py", line 903, in __call__/
/    self.fn() if output_subset is None else\/
/  File "pygpu/blas.pyx", line 47, in pygpu.blas.pygpu_blas_rgemm/
/*pygpu.gpuarray.GpuArrayException: ('mismatched shapes', 2)*/
/*Apply node that caused the error: GpuDot22(GpuReshape{2}.0, fc1.W)*/
/Toposort index: 130/
/Inputs types: [GpuArrayType<None>(float32, matrix), GpuArrayType<None>(float32, matrix)]/
/Inputs shapes: [(32, 32000), (6912, 128)]/
/Inputs strides: [(128000, 4), (512, 4)]/
/Inputs values: ['not shown', 'not shown']/
/Inputs type_num: [11, 11]/
/Outputs clients: [[GpuElemwise{Add}[(0, 0)]<gpuarray>(GpuDot22.0, InplaceGpuDimShuffle{x,0}.0)]]/
/
/
/Backtrace when the node is created(use Theano flag traceback.limit=N to make it longer):/
/  File "train.py", line 184, in <module>/
/    main(args)/
/  File "train.py", line 135, in main/
/    tfuncs, tvars = make_training_functions(cfg, model)/
/  File "train.py", line 31, in make_training_functions/
/    out = lasagne.layers.get_output(l_out, X)/
/  File "/home/anaconda2/lib/python2.7/site-packages/lasagne/layers/helper.py", line 197, in get_output/
/    all_outputs[layer] = layer.get_output_for(layer_inputs, **kwargs)/
/  File "/home/anaconda2/lib/python2.7/site-packages/lasagne/layers/dense.py", line 121, in get_output_for/
/    activation = T.dot(input, self.W)/
/  File "train.py", line 184, in <module>/
/    main(args)/
/  File "train.py", line 135, in main/
/    tfuncs, tvars = make_training_functions(cfg, model)/
/  File "train.py", line 31, in make_training_functions/
/    out = lasagne.layers.get_output(l_out, X)/
/  File "/home/anaconda2/lib/python2.7/site-packages/lasagne/layers/helper.py", line 197, in get_output/
/    all_outputs[layer] = layer.get_output_for(layer_inputs, **kwargs)/
/  File "/home/anaconda2/lib/python2.7/site-packages/lasagne/layers/dense.py", line 121, in get_output_for/
/    activation = T.dot(input, self.W)/



Do you think it is a different error?
Thank you again for any suggestion.

Il giorno giovedì 3 maggio 2018 10:12:51 UTC+2, Antonio95100 ha scritto:

    Hi all,
    I'm trying to train the VoxNet
    <https://github.com/dimatura/voxnet>3D/Volumetric Convolutional
    Neural Networks, based on Theano+Lasagne.
    Since I have installed Theano 1.01 and I don't want to downgrade to
    Theano 0.8.2, I modified the "max_pool_3d
    <https://github.com/dimatura/voxnet/blob/master/voxnet/max_pool_3d.py>"
    original code 'cause the *DownsampleFactorMax *module changed name
    in the latest Theano version. So I replaced the following rows:

    /op = T.signal.downsample.DownsampleFactorMax((ds[1], ds[2]),
    ignore_border)/
    /output = op(input_4D)/

    with these:

    /op = T.signal.pool.Pool(ignore_border)(input, ws=(ds[1],ds[2]))/
    /output = op(input_4D)/

    and I receive the following error message:


    /File "/home//VoxNet/voxnet/voxnet/max_pool_3d.py", line 78, in
    max_pool_3d/
    /    output = op(input_4D)/
    /TypeError: 'TensorVariable' object is not callable/
    /
    /
    What is wrong in my update?
    Thank you in advance for any suggestion.
    Cheers.

--

---
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] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.

--
Pascal Lamblin

--

--- 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.

Reply via email to