unsky / FPN

Feature Pyramid Networks for Object Detection
522 stars 263 forks source link

VOC2007 data set is trained when loss_bbox = 0 #41

Closed Huangswust182 closed 6 years ago

Huangswust182 commented 6 years ago

@unsky Hello, thank you for providing the source code. I revised your network with reference to the code you wrote, but when training occurs, loss_bbox = 0. What adjustments do you have in mind? No other methods have been tried. If you make an opinion, thank you very much. I0314 11:00:26.190989 18580 solver.cpp:229] Iteration 0, loss = 2.42246 I0314 11:00:26.191026 18580 solver.cpp:245] Train net output #0: loss_bbox = 0 ( 0.5 = 0 loss) I0314 11:00:26.191032 18580 solver.cpp:245] Train net output #1: loss_cls = 3.05018 ( 0.5 = 1.52509 loss) I0314 11:00:26.191038 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.879062 ( 0.5 = 0.439531 loss) I0314 11:00:26.191045 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.771223 ( 0.5 = 0.385611 loss) I0314 11:00:26.191049 18580 sgd_solver.cpp:107] Iteration 0, lr = 0.001 I0314 11:00:34.803771 18580 solver.cpp:229] Iteration 20, loss = 1.20221 I0314 11:00:34.803809 18580 solver.cpp:245] Train net output #0: loss_bbox = 0 ( 0.5 = 0 loss) I0314 11:00:34.803817 18580 solver.cpp:245] Train net output #1: loss_cls = 1.56594 ( 0.5 = 0.782969 loss) I0314 11:00:34.803822 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.681606 ( 0.5 = 0.340803 loss) I0314 11:00:34.803829 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.0196237 ( 0.5 = 0.00981186 loss) I0314 11:00:34.803836 18580 sgd_solver.cpp:107] Iteration 20, lr = 0.001 I0314 11:00:43.548290 18580 solver.cpp:229] Iteration 40, loss = 1.34465 I0314 11:00:43.548328 18580 solver.cpp:245] Train net output #0: loss_bbox = 4.46253e-06 ( 0.5 = 2.23126e-06 loss) I0314 11:00:43.548336 18580 solver.cpp:245] Train net output #1: loss_cls = 1.51926 ( 0.5 = 0.75963 loss) I0314 11:00:43.548341 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.678311 ( 0.5 = 0.339155 loss) I0314 11:00:43.548346 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.0992929 ( 0.5 = 0.0496464 loss) I0314 11:00:43.548352 18580 sgd_solver.cpp:107] Iteration 40, lr = 0.001 I0314 11:00:52.411149 18580 solver.cpp:229] Iteration 60, loss = 1.19288 I0314 11:00:52.411186 18580 solver.cpp:245] Train net output #0: loss_bbox = 3.54063e-06 ( 0.5 = 1.77032e-06 loss) I0314 11:00:52.411193 18580 solver.cpp:245] Train net output #1: loss_cls = 1.48073 ( 0.5 = 0.740365 loss) I0314 11:00:52.411198 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.694064 ( 0.5 = 0.347032 loss) I0314 11:00:52.411204 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.450236 ( 0.5 = 0.225118 loss) I0314 11:00:52.411209 18580 sgd_solver.cpp:107] Iteration 60, lr = 0.001 I0314 11:01:01.210149 18580 solver.cpp:229] Iteration 80, loss = 1.16331 I0314 11:01:01.210186 18580 solver.cpp:245] Train net output #0: loss_bbox = 2.98784e-06 ( 0.5 = 1.49392e-06 loss) I0314 11:01:01.210193 18580 solver.cpp:245] Train net output #1: loss_cls = 1.58441 ( 0.5 = 0.792203 loss) I0314 11:01:01.210199 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.758525 ( 0.5 = 0.379262 loss) I0314 11:01:01.210206 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.193615 ( 0.5 = 0.0968074 loss) I0314 11:01:01.210211 18580 sgd_solver.cpp:107] Iteration 80, lr = 0.001 I0314 11:01:09.967835 18580 solver.cpp:229] Iteration 100, loss = 1.2145 I0314 11:01:09.967872 18580 solver.cpp:245] Train net output #0: loss_bbox = 1.69471e-06 ( 0.5 = 8.47353e-07 loss) I0314 11:01:09.967878 18580 solver.cpp:245] Train net output #1: loss_cls = 1.47326 ( 0.5 = 0.736631 loss) I0314 11:01:09.967885 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.752394 ( 0.5 = 0.376197 loss) I0314 11:01:09.967890 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.281891 ( 0.5 = 0.140946 loss) I0314 11:01:09.967895 18580 sgd_solver.cpp:107] Iteration 100, lr = 0.001 I0314 11:01:18.736949 18580 solver.cpp:229] Iteration 120, loss = 0.995279 I0314 11:01:18.736986 18580 solver.cpp:245] Train net output #0: loss_bbox = 0 ( 0.5 = 0 loss) I0314 11:01:18.736992 18580 solver.cpp:245] Train net output #1: loss_cls = 1.38187 ( 0.5 = 0.690937 loss) I0314 11:01:18.736999 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.556746 ( 0.5 = 0.278373 loss) I0314 11:01:18.737004 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.0684626 ( 0.5 = 0.0342313 loss) I0314 11:01:18.737010 18580 sgd_solver.cpp:107] Iteration 120, lr = 0.001 I0314 11:01:27.601275 18580 solver.cpp:229] Iteration 140, loss = 1.00772 I0314 11:01:27.601315 18580 solver.cpp:245] Train net output #0: loss_bbox = 0 ( 0.5 = 0 loss) I0314 11:01:27.601321 18580 solver.cpp:245] Train net output #1: loss_cls = 1.34108 ( 0.5 = 0.670541 loss) I0314 11:01:27.601327 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.575482 ( 0.5 = 0.287741 loss) I0314 11:01:27.601333 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.134016 ( 0.5 = 0.067008 loss) I0314 11:01:27.601338 18580 sgd_solver.cpp:107] Iteration 140, lr = 0.001 I0314 11:01:36.287109 18580 solver.cpp:229] Iteration 160, loss = 1.02634 I0314 11:01:36.287149 18580 solver.cpp:245] Train net output #0: loss_bbox = 0 ( 0.5 = 0 loss) I0314 11:01:36.287156 18580 solver.cpp:245] Train net output #1: loss_cls = 1.29888 ( 0.5 = 0.649439 loss) I0314 11:01:36.287163 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.508832 ( 0.5 = 0.254416 loss) I0314 11:01:36.287168 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.225303 ( 0.5 = 0.112652 loss) I0314 11:01:36.287173 18580 sgd_solver.cpp:107] Iteration 160, lr = 0.001 I0314 11:01:45.057557 18580 solver.cpp:229] Iteration 180, loss = 1.31192 I0314 11:01:45.057595 18580 solver.cpp:245] Train net output #0: loss_bbox = 2.033e-05 ( 0.5 = 1.0165e-05 loss) I0314 11:01:45.057602 18580 solver.cpp:245] Train net output #1: loss_cls = 1.31927 ( 0.5 = 0.659635 loss) I0314 11:01:45.057608 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.728466 ( 0.5 = 0.364233 loss) I0314 11:01:45.057615 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.872437 ( 0.5 = 0.436219 loss) I0314 11:01:45.057620 18580 sgd_solver.cpp:107] Iteration 180, lr = 0.001 speed: 0.439s / iter I0314 11:01:53.781239 18580 solver.cpp:229] Iteration 200, loss = 0.924464 I0314 11:01:53.781275 18580 solver.cpp:245] Train net output #0: loss_bbox = 0 ( 0.5 = 0 loss) I0314 11:01:53.781281 18580 solver.cpp:245] Train net output #1: loss_cls = 1.2256 ( 0.5 = 0.612798 loss) I0314 11:01:53.781287 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.470908 ( 0.5 = 0.235454 loss) I0314 11:01:53.781293 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.0965142 ( 0.5 = 0.0482571 loss) I0314 11:01:53.781298 18580 sgd_solver.cpp:107] Iteration 200, lr = 0.001 I0314 11:02:02.579058 18580 solver.cpp:229] Iteration 220, loss = 0.921759 I0314 11:02:02.579099 18580 solver.cpp:245] Train net output #0: loss_bbox = 0 ( 0.5 = 0 loss) I0314 11:02:02.579108 18580 solver.cpp:245] Train net output #1: loss_cls = 1.21418 ( 0.5 = 0.607091 loss) I0314 11:02:02.579118 18580 solver.cpp:245] Train net output #2: rpn_cls_loss = 0.503071 ( 0.5 = 0.251536 loss) I0314 11:02:02.579125 18580 solver.cpp:245] Train net output #3: rpn_loss_bbox = 0.0527053 ( 0.5 = 0.0263527 loss)

And with the increase of the number of training, a mistake was terminated in the back. /lib/rpn/proposal_layer.py:248: RuntimeWarning: invalid value encountered in greater_equal keep = np.where((ws >= min_size) & (hs >= min_size))[0] Traceback (most recent call last): File "./tools/train_net.py", line 112, in max_iters=args.max_iters) File "/home/sins/py-faster-rcnn/tools/../lib/fast_rcnn/train.py", line 161, in train_net model_paths = sw.train_model(max_iters) File "/home/sins/py-faster-rcnn/tools/../lib/fast_rcnn/train.py", line 102, in train_model self.solver.step(1) File "/home/sins/py-faster-rcnn/tools/../lib/rpn/proposal_layer.py", line 203, in forward pad = npr.choice(keep, size=post_nms_topN - len(keep)) File "mtrand.pyx", line 1126, in mtrand.RandomState.choice Thanks very much!!!!!

SingL3 commented 6 years ago

Hi, did you solve this problem? I met the same error message.