Use mmcv tensor2imgs (#4010)

pull/4024/head
David de la Iglesia Castro 5 years ago committed by GitHub
parent d303892394
commit d1cedb72d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      mmdet/apis/test.py
  2. 7
      mmdet/core/utils/__init__.py
  3. 28
      mmdet/core/utils/misc.py
  4. 3
      mmdet/models/detectors/rpn.py

@ -7,9 +7,10 @@ import time
import mmcv
import torch
import torch.distributed as dist
from mmcv.image import tensor2imgs
from mmcv.runner import get_dist_info
from mmdet.core import encode_mask_results, tensor2imgs
from mmdet.core import encode_mask_results
def single_gpu_test(model,

@ -1,7 +1,4 @@
from .dist_utils import DistOptimizerHook, allreduce_grads
from .misc import multi_apply, tensor2imgs, unmap
from .misc import multi_apply, unmap
__all__ = [
'allreduce_grads', 'DistOptimizerHook', 'tensor2imgs', 'multi_apply',
'unmap'
]
__all__ = ['allreduce_grads', 'DistOptimizerHook', 'multi_apply', 'unmap']

@ -1,37 +1,9 @@
from functools import partial
import mmcv
import numpy as np
import torch
from six.moves import map, zip
def tensor2imgs(tensor, mean=(0, 0, 0), std=(1, 1, 1), to_rgb=True):
"""Convert tensor to images.
Args:
tensor (torch.Tensor): Tensor that contains multiple images
mean (tuple[float], optional): Mean of images. Defaults to (0, 0, 0).
std (tuple[float], optional): Standard deviation of images.
Defaults to (1, 1, 1).
to_rgb (bool, optional): Whether convert the images to RGB format.
Defaults to True.
Returns:
list[np.ndarray]: A list that contains multiple images.
"""
num_imgs = tensor.size(0)
mean = np.array(mean, dtype=np.float32)
std = np.array(std, dtype=np.float32)
imgs = []
for img_id in range(num_imgs):
img = tensor[img_id, ...].cpu().numpy().transpose(1, 2, 0)
img = mmcv.imdenormalize(
img, mean, std, to_bgr=to_rgb).astype(np.uint8)
imgs.append(np.ascontiguousarray(img))
return imgs
def multi_apply(func, *args, **kwargs):
"""Apply function to a list of arguments.

@ -1,6 +1,7 @@
import mmcv
from mmcv.image import tensor2imgs
from mmdet.core import bbox_mapping, tensor2imgs
from mmdet.core import bbox_mapping
from ..builder import DETECTORS, build_backbone, build_head, build_neck
from .base import BaseDetector

Loading…
Cancel
Save