For element in labels, select indices keep from it. Args: labels: Sequence of array. Each element represents classification labels or scores corresponding to ``boxes``, sized (N,). keep: the indices to keep, same length with each element in labels. Return:
(
labels: Sequence[NdarrayOrTensor] | NdarrayOrTensor, keep: NdarrayOrTensor
)
| 326 | |
| 327 | |
| 328 | def select_labels( |
| 329 | labels: Sequence[NdarrayOrTensor] | NdarrayOrTensor, keep: NdarrayOrTensor |
| 330 | ) -> tuple | NdarrayOrTensor: |
| 331 | """ |
| 332 | For element in labels, select indices keep from it. |
| 333 | |
| 334 | Args: |
| 335 | labels: Sequence of array. Each element represents classification labels or scores |
| 336 | corresponding to ``boxes``, sized (N,). |
| 337 | keep: the indices to keep, same length with each element in labels. |
| 338 | |
| 339 | Return: |
| 340 | selected labels, does not share memory with original labels. |
| 341 | """ |
| 342 | labels_tuple = ensure_tuple(labels, True) |
| 343 | |
| 344 | labels_select_list = [] |
| 345 | keep_t: torch.Tensor = convert_data_type(keep, torch.Tensor)[0] |
| 346 | for item in labels_tuple: |
| 347 | labels_t: torch.Tensor = convert_data_type(item, torch.Tensor)[0] |
| 348 | labels_t = labels_t[keep_t, ...] |
| 349 | labels_select_list.append(convert_to_dst_type(src=labels_t, dst=item)[0]) |
| 350 | |
| 351 | if isinstance(labels, (torch.Tensor, np.ndarray)): |
| 352 | return labels_select_list[0] # type: ignore |
| 353 | |
| 354 | return tuple(labels_select_list) |
| 355 | |
| 356 | |
| 357 | def swapaxes_boxes(boxes: NdarrayTensor, axis1: int, axis2: int) -> NdarrayTensor: |
no test coverage detected
searching dependent graphs…