| |
| import inspect |
|
|
| from mmengine.logging import print_log |
|
|
|
|
| def get_caller_name(): |
| """Get name of caller method.""" |
| |
| |
| caller_frame = inspect.stack()[2][0] |
| caller_method = caller_frame.f_code.co_name |
| try: |
| caller_class = caller_frame.f_locals['self'].__class__.__name__ |
| return f'{caller_class}.{caller_method}' |
| except KeyError: |
| return caller_method |
|
|
|
|
| def log_img_scale(img_scale, shape_order='hw', skip_square=False): |
| """Log image size. |
| |
| Args: |
| img_scale (tuple): Image size to be logged. |
| shape_order (str, optional): The order of image shape. |
| 'hw' for (height, width) and 'wh' for (width, height). |
| Defaults to 'hw'. |
| skip_square (bool, optional): Whether to skip logging for square |
| img_scale. Defaults to False. |
| |
| Returns: |
| bool: Whether to have done logging. |
| """ |
| if shape_order == 'hw': |
| height, width = img_scale |
| elif shape_order == 'wh': |
| width, height = img_scale |
| else: |
| raise ValueError(f'Invalid shape_order {shape_order}.') |
|
|
| if skip_square and (height == width): |
| return False |
|
|
| caller = get_caller_name() |
| print_log( |
| f'image shape: height={height}, width={width} in {caller}', |
| logger='current') |
|
|
| return True |
|
|