One of the Variables required has been modified by inplace operation

The boxes tensor is performing inplace operations that can be fixed with a .clone() call on the right hand side:

boxes[:, :, 0] = torch.clamp(boxes.clone()[:, :, 0], min=0)
boxes[:, :, 1] = torch.clamp(boxes.clone()[:, :, 1], min=0)
boxes[:, :, 2] = torch.clamp(boxes.clone()[:, :, 2], max=width)
boxes[:, :, 3] = torch.clamp(boxes.clone()[:, :, 3], max=height)

Some more discussion here:

1 Like