yuqj1991 / caffe_train

caffe train face licenseplate reID action ocr centernet
23 stars 12 forks source link

CenterGridSoftmax_face_v3_train.prototxt #10

Closed wolfworld6 closed 4 years ago

wolfworld6 commented 4 years ago

hello,when i run this CenterGridSoftmax_face_v3_train.prototxt,i got his error, F0615 08:35:26.882671 38541 center_bbox_util.cpp:789] Check failed: b == item_id (1 vs. 0) Check failure stack trace: @ 0x7f21bc5135cd google::LogMessage::Fail() @ 0x7f21bc515433 google::LogMessage::SendToLog() @ 0x7f21bc51315b google::LogMessage::Flush() @ 0x7f21bc515e1e google::LogMessageFatal::~LogMessageFatal() @ 0x7f21bcfffbe5 caffe::GetYoloGroundTruth<>() @ 0x7f21bce2defd caffe::CenterGridLossLayer<>::Forward_cpu() @ 0x7f21bcf331b7 caffe::Net<>::ForwardFromTo() @ 0x7f21bcf33517 caffe::Net<>::Forward() @ 0x7f21bcfbc918 caffe::Solver<>::Step() @ 0x7f21bcfbd35e caffe::Solver<>::Solve() @ 0x40bd47 train() @ 0x4078f4 main @ 0x7f21baca9830 __libc_start_main @ 0x408209 _start @ (nil) (unknown) How can I solve this issue?

yuqj1991 commented 4 years ago

maybe something wrong with your training data, if you use my code, the data set(wider face) format is pascal voc format

wolfworld6 commented 4 years ago

maybe something wrong with your training data, if you use my code, the data set(wider face) format is pascal voc format i will check,besides, does your code support multi-target detection?

wolfworld6 commented 4 years ago

maybe something wrong with your training data, if you use my code, the data set(wider face) format is pascal voc format I used eight images in my training data, and the results were always the same,as follows: data does not need backward computation. I0615 10:35:49.677165 5693 net.cpp:270] This network produces output CenterGridLoss_0 I0615 10:35:49.677168 5693 net.cpp:270] This network produces output CenterGridLoss_1 I0615 10:35:49.677172 5693 net.cpp:270] This network produces output CenterGridLoss_2 I0615 10:35:49.677186 5693 net.cpp:270] This network produces output CenterGridLoss_3 I0615 10:35:49.677261 5693 net.cpp:283] Network initialization done. I0615 10:35:49.677683 5693 solver.cpp:75] Solver scaffolding done. I0615 10:35:49.685258 5693 caffe.cpp:251] Starting Optimization I0615 10:35:49.685286 5693 solver.cpp:293] Solving CenterGridFace_train I0615 10:35:49.685292 5693 solver.cpp:294] Learning Rate Policy: multistep F0615 10:35:49.727946 5693 center_bbox_util.cpp:789] Check failed: b == item_id (1 vs. 0) Check failure stack trace: @ 0x7fb6bf5ff5cd google::LogMessage::Fail() @ 0x7fb6bf601433 google::LogMessage::SendToLog() @ 0x7fb6bf5ff15b google::LogMessage::Flush() @ 0x7fb6bf601e1e google::LogMessageFatal::~LogMessageFatal() @ 0x7fb6c00ebbe5 caffe::GetYoloGroundTruth<>() @ 0x7fb6bff19efd caffe::CenterGridLossLayer<>::Forward_cpu() @ 0x7fb6c001f1b7 caffe::Net<>::ForwardFromTo() @ 0x7fb6c001f517 caffe::Net<>::Forward() @ 0x7fb6c00a8918 caffe::Solver<>::Step() @ 0x7fb6c00a935e caffe::Solver<>::Solve() @ 0x40bd47 train() @ 0x4078f4 main @ 0x7fb6bdd95830 __libc_start_main @ 0x408209 _start @ (nil) (unknown)

yuqj1991 commented 4 years ago

(1) e...i remember that i have add some limitations to code to just apply for face detecting, so now not for multi-classes, because i fixed some variable as constants. maybe you can adjust code in the center_bbox_util.cpp, the main training func is EncodeCenterGridObjectSoftMaxLoss() and the inference code is GetCenterGridObjectResultSoftMax(), you can uncomment some code (2) do you have convert image to lmdb?....it should your data problem, because i am training.

wolfworld6 commented 4 years ago

(1) e...i remember that i have add some limitations to code to just apply for face detecting, so now not for multi-classes, because i fixed some variable as constants. maybe you can adjust code in the center_bbox_util.cpp, the main training func is EncodeCenterGridObjectSoftMaxLoss() and the inference code is GetCenterGridObjectResultSoftMax(), you can uncomment some code (2) do you have convert image to lmdb?....it should your data problem, because i am training.

Would you please explain to me the mean,as follows? image

yuqj1991 commented 4 years ago

item_id should equal to b, because item_id is the batch index in one batch size

wolfworld6 commented 4 years ago

item_id should equal to b, because item_id is the batch index in one batch size

Besides these two files, creat_list.sh and create_data.sh,what other steps are required when

item_id should equal to b, because item_id is the batch index in one batch size

Besides these two files, creat_list.sh and create_data.sh,what other steps are required during converting image to lmdb?i run another prototxt,got this same error,why?

yuqj1991 commented 4 years ago

.......if you do not modify the prototxt, and convert the images to lmdb correctly, it would not met that error. because just like i said, the var item_id is the batch index in one batch size. if you do not modify the code in the annotated_data_layer.cpp, and suppose that you do not change anything, it must your data problem. as to your question, to generate lmdb file, it just need the two files you mentioned, before you prepare your data format to voc pascal format, your annotation file is xml file. thanks

wolfworld6 commented 4 years ago

.......if you do not modify the prototxt, and convert the images to lmdb correctly, it would not met that error. because just like i said, the var item_id is the batch index in one batch size. if you do not modify the code in the annotated_data_layer.cpp, and suppose that you do not change anything, it must your data problem. as to your question, to generate lmdb file, it just need the two files you mentioned, before you prepare your data format to voc pascal format, your annotation file is xml file. thanks

thx so much!

yuqj1991 commented 4 years ago

hello, @wolfworld6, i must apologize for what i said about the multi-class training, i am sorry , currently it just support two classes (background, and face). because i found that i had just use fixed constants in the code for convenience. so, now it do not support more than 3 classes detection

wolfworld6 commented 4 years ago

hello, @wolfworld6, i must apologize for what i said about the multi-class training, i am sorry , currently it just support two classes (background, and face). because i found that i had just use fixed constants in the code for convenience. so, now it do not support more than 3 classes detection

I should thank you for your kindness,do you have wechat?please Let me know your WeChat ID,if it's convenient。