Download lib/nms/gpu_nms.pyx from dashgaming/slyte: direct link, hf CLI and curl.
- Browser
- Download file 1.29 kB
-
https://huggingface.co/dashgaming/slyte/resolve/main/lib/nms/gpu_nms.pyx
- Command line
-
hf download hf://dashgaming/slyte/lib/nms/gpu_nms.pyx
-
curl -L -o gpu_nms.pyx https://huggingface.co/dashgaming/slyte/resolve/main/lib/nms/gpu_nms.pyx
1.29 kB
| # ------------------------------------------------------------------------------ | |
| # Copyright (c) Microsoft | |
| # Licensed under the MIT License. | |
| # Written by Bin Xiao (Bin.Xiao@microsoft.com) | |
| # ------------------------------------------------------------------------------ | |
| from __future__ import absolute_import | |
| from __future__ import division | |
| from __future__ import print_function | |
| import numpy as np | |
| cimport numpy as np | |
| assert sizeof(int) == sizeof(np.int32_t) | |
| cdef extern from "gpu_nms.hpp": | |
| void _nms(np.int32_t*, int*, np.float32_t*, int, int, float, int) | |
| def gpu_nms(np.ndarray[np.float32_t, ndim=2] dets, np.float thresh, | |
| np.int32_t device_id=0): | |
| cdef int boxes_num = dets.shape[0] | |
| cdef int boxes_dim = dets.shape[1] | |
| cdef int num_out | |
| cdef np.ndarray[np.int32_t, ndim=1] \ | |
| keep = np.zeros(boxes_num, dtype=np.int32) | |
| cdef np.ndarray[np.float32_t, ndim=1] \ | |
| scores = dets[:, 4] | |
| cdef np.ndarray[np.int32_t, ndim=1] \ | |
| order = scores.argsort()[::-1].astype(np.int32) | |
| cdef np.ndarray[np.float32_t, ndim=2] \ | |
| sorted_dets = dets[order, :] | |
| _nms(&keep[0], &num_out, &sorted_dets[0, 0], boxes_num, boxes_dim, thresh, device_id) | |
| keep = keep[:num_out] | |
| return list(order[keep]) | |