3detr
3detr copied to clipboard
Question about size loss.
In function loss_size, the "gt_box_sizes" is scaled by point_cloud_dims on the scale of 0 to ∞ while the "pred_box_sizes" is scaled into (0, 1) by sigmoid. F.l1_loss is used to match "gt_box_sizes" and "pred_box_sizes". Is this the right thing to do?
In [1]: pred_box_sizes.max()
Out[1]: tensor(0.8369, device='cuda:0', grad_fn=<MaxBackward1>)
In [2]: gt_box_sizes.max()
Out[2]: tensor(2.5446, device='cuda:0')
In [3]:
Rewrite:
def loss_size(self, outputs, targets, assignments):
gt_box_sizes = targets["gt_box_sizes_normalized"]
pred_box_sizes = outputs["size_normalized"]
print("gt_box_sizes(max):", gt_box_sizes.max(), "pred_box_sizes(max):", pred_box_sizes.max())
run:
sh scripts/sunrgbd_quick.sh
get:
gt_box_sizes(max): tensor(2.7780, device='cuda:0') pred_box_sizes(max): tensor(0.8626, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(2.7780, device='cuda:0') pred_box_sizes(max): tensor(0.8083, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(2.7780, device='cuda:0') pred_box_sizes(max): tensor(0.8018, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(2.7780, device='cuda:0') pred_box_sizes(max): tensor(0.7761, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(2.7780, device='cuda:0') pred_box_sizes(max): tensor(0.8450, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(2.7780, device='cuda:0') pred_box_sizes(max): tensor(0.8318, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(0.9309, device='cuda:0') pred_box_sizes(max): tensor(0.8833, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(0.9309, device='cuda:0') pred_box_sizes(max): tensor(0.8971, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(0.9309, device='cuda:0') pred_box_sizes(max): tensor(0.8606, device='cuda:0', grad_fn=<MaxBackwa
rd1>)
gt_box_sizes(max): tensor(0.9309, device='cuda:0') pred_box_sizes(max): tensor(0.8204, device='cuda:0', grad_fn=<MaxBackwa
rd1>)