implus / GFocalV2

Generalized Focal Loss V2: Learning Reliable Localization Quality Estimation for Dense Object Detection, CVPR2021
Apache License 2.0
475 stars 54 forks source link

RuntimeError: The size of tensor a (4) must match the size of tensor b (18) at non-singleton dimension 1 #14

Closed ma3252788 closed 3 years ago

ma3252788 commented 3 years ago

I got this error:

time:2021-03-25 21:42:49,597 - mmdet - INFO - Epoch [1][300/4009] lr: 5.984e-03, eta: 15:55:45, time: 0.575, data_time: 0.006, memory: 8329, loss_cls: 0.9006, loss_bbox: 1.0714, loss_dfl: 0.5419, loss: 2.5139

Traceback (most recent call last):
  File "/home/ubuntu/bigdisk/part2/GFocalV2/tools/train.py", line 179, in <module>
    main()
  File "/home/ubuntu/bigdisk/part2/GFocalV2/tools/train.py", line 175, in main
    meta=meta)
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/apis/train.py", line 150, in train_detector
    runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
  File "/home/ubuntu/anaconda3/envs/gfocal/lib/python3.6/site-packages/mmcv/runner/epoch_based_runner.py", line 125, in run
    epoch_runner(data_loaders[i], **kwargs)
  File "/home/ubuntu/anaconda3/envs/gfocal/lib/python3.6/site-packages/mmcv/runner/epoch_based_runner.py", line 50, in train
    self.run_iter(data_batch, train_mode=True)
  File "/home/ubuntu/anaconda3/envs/gfocal/lib/python3.6/site-packages/mmcv/runner/epoch_based_runner.py", line 30, in run_iter
    **kwargs)
  File "/home/ubuntu/anaconda3/envs/gfocal/lib/python3.6/site-packages/mmcv/parallel/data_parallel.py", line 67, in train_step
    return self.module.train_step(*inputs[0], **kwargs[0])
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/models/detectors/base.py", line 234, in train_step
    losses = self(**data)
  File "/home/ubuntu/anaconda3/envs/gfocal/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/ubuntu/anaconda3/envs/gfocal/lib/python3.6/site-packages/mmcv/runner/fp16_utils.py", line 84, in new_func
    return old_func(*args, **kwargs)
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/models/detectors/base.py", line 168, in forward
    return self.forward_train(img, img_metas, **kwargs)
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/models/detectors/single_stage.py", line 94, in forward_train
    gt_labels, gt_bboxes_ignore)
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/models/dense_heads/base_dense_head.py", line 54, in forward_train
    losses = self.loss(*loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore)
  File "/home/ubuntu/anaconda3/envs/gfocal/lib/python3.6/site-packages/mmcv/runner/fp16_utils.py", line 164, in new_func
    return old_func(*args, **kwargs)
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/models/dense_heads/gfocal_head.py", line 392, in loss
    num_total_samples=num_total_samples)
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/core/utils/misc.py", line 26, in multi_apply
    return tuple(map(list, zip(*map_results)))
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/models/dense_heads/gfocal_head.py", line 307, in loss_single
    avg_factor=1.0)
  File "/home/ubuntu/anaconda3/envs/gfocal/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/ubuntu/bigdisk/part2/GFocalV2/mmdet/models/losses/iou_loss.py", line 325, in forward
    return (pred * weight).sum()  # 0
RuntimeError: The size of tensor a (4) must match the size of tensor b (18) at non-singleton dimension 1
funnyday16 commented 3 years ago

I got same error, have you solve this problem?

shinya7y commented 3 years ago

Possibly related to https://github.com/open-mmlab/mmdetection/issues/4456