Spaces:
Running
on
L40S
Running
on
L40S
// Copyright (c) Facebook, Inc. and its affiliates. | |
namespace detectron2 { | |
at::Tensor nms_rotated_cpu( | |
const at::Tensor& dets, | |
const at::Tensor& scores, | |
const double iou_threshold); | |
at::Tensor nms_rotated_cuda( | |
const at::Tensor& dets, | |
const at::Tensor& scores, | |
const double iou_threshold); | |
// Interface for Python | |
// inline is needed to prevent multiple function definitions when this header is | |
// included by different cpps | |
inline at::Tensor nms_rotated( | |
const at::Tensor& dets, | |
const at::Tensor& scores, | |
const double iou_threshold) { | |
assert(dets.device().is_cuda() == scores.device().is_cuda()); | |
if (dets.device().is_cuda()) { | |
return nms_rotated_cuda( | |
dets.contiguous(), scores.contiguous(), iou_threshold); | |
AT_ERROR("Detectron2 is not compiled with GPU support!"); | |
} | |
return nms_rotated_cpu(dets.contiguous(), scores.contiguous(), iou_threshold); | |
} | |
} // namespace detectron2 | |