danxuhk / StructuredAttentionDepthEstimation

Structured Attention Guided Convolutional Neural Fields for Monocular Depth Estimation in CVPR 2018 (Spotlight)
Other
111 stars 18 forks source link

Trouble in training on NYUv2 dataset #2

Closed ShiJiaying closed 6 years ago

ShiJiaying commented 6 years ago

Hi, thanks for your excellent work for this paper and last cvpr17 paper. I have tried to train this 18 work on nyuv2 dataset, but i met a mistake with image shape as list: I0831 19:55:04.187378 25583 net.cpp:406] loss_3d <- label_data_1_split_0 I0831 19:55:04.187387 25583 net.cpp:380] loss_3d -> loss_3d F0831 19:55:04.187409 25583 euclidean_mask_loss_layer.cpp:12] Check failed: bottom[0]->count(1) == bottom[1]->count(1) (307200 vs. 116748) Inputs must have the same dimension. Check failure stack trace: F0831 19:55:04.388113 25584 euclidean_mask_loss_layer.cpp:12] Check failed: bottom[0]->count(1) == bottom[1]->count(1) (307200 vs. 116748) Inputs must have the same dimension. Check failure stack trace: This is because i change the number of height and weight. layer { name: "prediction_5c_output" type: "Interp" bottom: "prediction_5c" top: "prediction_5c_output" interp_param { height: 480 width: 640 } } Can you tell me where i should change the code to match the size? THANK YOU!!

danxuhk commented 6 years ago

Have you changed the width and the height parameters in `./prototxt/gen_train_prototxt.py' to generate the training prototxt? We used intermediate supervision, so for each scale the prediction map should be the same resolution as the ground-truth map ...

ShiJiaying commented 6 years ago

@danxuhk Yes, thank you for your prompt reply!! I generated the training prototx by changing the the width and the height parameters in `./prototxt/gen_train_prototxt.py' , and here I met this 'shape doesn't match' mistake. Should I output each scale predicted map to see where and which parameter mistakes?

danxuhk commented 6 years ago

Yes, you could debug from there.

ShiJiaying commented 6 years ago

@danxuhk I just found there were some data load parameters in './python/DataTransformer.py'. And after I change these to 640*480, the train.py can work. So far, I begin training on nyuv2, and thank you again! : )

danxuhk commented 6 years ago

The python data loader layer is more specific for the KITTI dataset. While the network supports any type of input data layer. You could use your own data loader to train the NYUD dataset...

ShiJiaying commented 6 years ago

@danxuhk Thanks for your patience. I realize I need to write a new loader for nyu dataset, and it is so flexible for your network!