C3D icon indicating copy to clipboard operation
C3D copied to clipboard

Upgrade Deconv3D for C3D-v.1.1

Open ltnghia opened this issue 7 years ago • 6 comments

Hi, Thanks for release C3D-v.1.1.

Could you please upgrade Deconv3D and VideoWithVoxelTruth_data layers to v-1.1 ? I tried to convert Deconv3D layer from v-1.0 to v-1.1 but it doesn't work.

Thank you in advance.

ltnghia avatar Mar 03 '17 10:03 ltnghia

@ltnghia I just ported deconv3d layer. I'm currently busy with a deadline, I will update the data layer later.

dutran avatar Mar 03 '17 19:03 dutran

Hi,

When using the Deconvolution3D of C3D-v1.1, I always have this issue:

F0430 07:16:29.406836 3839 blob.hpp:140] Check failed: num_axes() <= 4 (5 vs. 4) Cannot use legacy accessors on Blobs with > 4 axes.

My input size for the Deconvolution3D layer is: 2 256 7 8 8, I think the size is 5 dimensions which is correct for the 3D deconvolution layer, but it has the above issue.

BTW, I attached the definition of my layer:

the size of d4c_rl_rs is 2 256 7 8 8

layer { name: "upconv_d4c_u3a" type: "Deconvolution3D" bottom: "d4c_rl_rs" top: "u3a" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution3d_param { num_output: 128 # 512 kernel_size: 2 kernel_depth: 2 pad: 0 temporal_pad: 0 stride: 2 temporal_stride: 2 weight_filler { type: "msra" variance_norm: 2 } bias_filler { type: "constant" value: 0.0 } } }

thanks very much!

spiritotaku avatar Apr 30 '17 11:04 spiritotaku

change this line https://github.com/facebook/C3D/blob/master/C3D-v1.1/src/caffe/layers/deconvolution3d_layer.cpp#L89

to top_shape[0] = bottom[0]->shape(0); may solve it.

dutran avatar May 02 '17 06:05 dutran

Also it is good to share your full error log, something before and after

F0430 07:16:29.406836 3839 blob.hpp:140] Check failed: num_axes() <= 4 (5 vs. 4) Cannot use legacy accessors on Blobs with > 4 axes.

dutran avatar May 02 '17 17:05 dutran

@spiritotaku pull and try again.

dutran avatar May 05 '17 05:05 dutran

thanks. Changing to bottom[0]->shape(0) solves the issue. The previous num() would call the original code of caffe, which only allow x, y image.

spiritotaku avatar May 06 '17 13:05 spiritotaku