nms.h 591 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
#pragma once
#include "cpu/vision.h"

#ifdef WITH_CUDA
#include "cuda/vision.h"
#endif

at::Tensor nms(
    const at::Tensor& dets,
    const at::Tensor& scores,
11
    const float iou_threshold) {
12
13
14
15
16
17
  if (dets.device().is_cuda()) {
#ifdef WITH_CUDA
    if (dets.numel() == 0) {
      at::cuda::CUDAGuard device_guard(dets.device());
      return at::empty({0}, dets.options().dtype(at::kLong));
    }
18
    return nms_cuda(dets, scores, iou_threshold);
19
20
21
22
23
#else
    AT_ERROR("Not compiled with GPU support");
#endif
  }

24
  at::Tensor result = nms_cpu(dets, scores, iou_threshold);
25
26
  return result;
}