ignacio-rocco / cnngeometric_matconvnet

CNNGeometric MatConvNet implementation
Other
49 stars 23 forks source link

The FILTERS depth does not divide the DATA depth. #1

Open zll152 opened 6 years ago

zll152 commented 6 years ago

hi when i run the demo_train 。It appear "The FILTERS depth does not divide the DATA depth" .I have try to solve it for many days and don't get the solution. Could you help me?

ignacio-rocco commented 6 years ago

Hi, it might be a problem with MatConvNet compilation. Did you get any warnings when compiling?

zll152 commented 6 years ago

vl_compilenn vl_compilenn: CUDA: MEX config file: '/home/z/projects/ZLL/cnngeometric_matconvnet-master/matlab/matconvnet-1.0-beta20/matlab/src/config/mex_CUDA_glnxa64.xml' Building with 'g++'. Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release. In vl_compilenn>mex_compile at 510 In vl_compilenn at 471 Warning: You are using gcc version '5.4.0-6ubuntu1~16.04.4)'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.

MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed success

when i run vl_compilenn('enableGpu',true) Building with 'g++'. Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.

In vl_compilenn>mex_compile at 510 In vl_compilenn at 471 MEX completed successfully. Building with 'nvcc'. nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). /home/z/projects/ZLL/cnngeometric_matconvnet-master/matlab/matconvnet-1.0-beta20/matlab/src/bits/impl/tinythread.h(654): warning: extra ";" ignored /home/z/projects/ZLL/cnngeometric_matconvnet-master/matlab/matconvnet-1.0-beta20/matlab/src/bits/impl/tinythread.h(654): warning: extra ";" ignored /home/z/projects/ZLL/cnngeometric_matconvnet-master/matlab/matconvnet-1.0-beta20/matlab/src/bits/impl/tinythread.h(654): warning: extra ";" ignored /home/z/projects/ZLL/cnngeometric_matconvnet-master/matlab/matconvnet-1.0-beta20/matlab/src/bits/impl/tinythread.h(654): warning: extra ";" ignored

MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully. Building with 'gcc'. MEX completed successfully.

That‘s warnings。 But i have set my gcc vision to gcc version 4.7.4 (Ubuntu/Linaro 4.7.4-3ubuntu12) . I have passed the vl_test() meanwhile.
Thanks a lot.

ignacio-rocco commented 6 years ago

Hi, I haven't been able to reproduce your problem, but I did have some issues in the past with Matconvnet v20 and gcc 5.4.0, which I could solve by replacing line 306 of vl_compilenn.m to flags.cc = {'GCC=''/usr/bin/gcc-4.9'''}. I'm not sure this will solve your problem, though.

Does demo.m work? (I just pushed a commit fixing a path I broke before)

zll152 commented 6 years ago

Hi, the demo.m is OK. I have tried what you say ,but i not works.

the error show as follow: train: epoch 01: 1/1228:Error using vl_nnconv The FILTERS depth does not divide the DATA depth.

Error in dagnn.Conv/forward (line 11) outputs{1} = vl_nnconv(...

Error in dagnn.Layer/forwardAdvanced (line 85) outputs = obj.forward(inputs, {net.params(par).value}) ;

Error in dagnn.DagNN/eval (line 88) obj.layers(l).block.forwardAdvanced(obj.layers(l)) ;

Error in cnn_train_dag_custom>process_epoch (line 217) net.eval(inputs, opts.derOutputs) ;

Error in cnn_train_dag_custom (line 85) [stats.train(epoch),prof] = process_epoch(net, state, opts, 'train') ;

Error in trainNetwork (line 140) [net,stats]=cnn_train_dag_custom(net, getBatch, opts);

Error in demo_train (line 38) trainNetwork(paths,topts);

The inputs is a 4-D gpuArray, the params are 4D gpuArray and 1*64 gpuArray. I suspect the problem is here。What do you think? Thanks a lot!

ignacio-rocco commented 6 years ago

I'm sorry, I'm not able to reproduce your error. I just tried on a fresh clone of the repo and it's working ok for me.

zll152 commented 6 years ago

hi , which matlab vision do you use?

ignacio-rocco commented 6 years ago

Hi, I'm using matlab-2014b