mmcls.visualization¶
This package includes visualizer components for classification tasks.
ClsVisualizer¶
- class mmcls.visualization.ClsVisualizer(name='visualizer', image=None, vis_backends=None, save_dir=None, fig_save_cfg={'frameon': False}, fig_show_cfg={'frameon': False})[source]¶
Universal Visualizer for classification task.
- Parameters
name (str) – Name of the instance. Defaults to ‘visualizer’.
image (np.ndarray, optional) – the origin image to draw. The format should be RGB. Defaults to None.
vis_backends (list, optional) – Visual backend config list. Defaults to None.
save_dir (str, optional) – Save file dir for all storage backends. If it is None, the backend storage will not save any data.
fig_save_cfg (dict) – Keyword parameters of figure for saving. Defaults to empty dict.
fig_show_cfg (dict) – Keyword parameters of figure for showing. Defaults to empty dict.
Examples
>>> import torch >>> import mmcv >>> from pathlib import Path >>> from mmcls.visualization import ClsVisualizer >>> from mmcls.structures import ClsDataSample >>> # Example image >>> img = mmcv.imread("./demo/bird.JPEG", channel_order='rgb') >>> # Example annotation >>> data_sample = ClsDataSample().set_gt_label(1).set_pred_label(1). ... set_pred_score(torch.tensor([0.1, 0.8, 0.1])) >>> # Setup the visualizer >>> vis = ClsVisualizer( ... save_dir="./outputs", ... vis_backends=[dict(type='LocalVisBackend')]) >>> # Set classes names >>> vis.dataset_meta = {'classes': ['cat', 'bird', 'dog']} >>> # Show the example image with annotation in a figure. >>> # And it will ignore all preset storage backends. >>> vis.add_datasample('res', img, data_sample, show=True) >>> # Save the visualization result by the specified storage backends. >>> vis.add_datasample('res', img, data_sample) >>> assert Path('./outputs/vis_data/vis_image/res_0.png').exists() >>> # Save another visualization result with the same name. >>> vis.add_datasample('res', img, data_sample, step=1) >>> assert Path('./outputs/vis_data/vis_image/res_1.png').exists()