Shortcuts

mmagic.visualization

Package Contents

Classes

ConcatImageVisualizer

Visualize multiple images by concatenation.

PaviVisBackend

Visualization backend for Pavi.

TensorboardVisBackend

Tensorboard visualization backend class.

VisBackend

MMagic visualization backend class. It can write image, config, scalars,

WandbVisBackend

Wandb visualization backend for MMagic.

Visualizer

MMagic Visualizer.

class mmagic.visualization.ConcatImageVisualizer(fn_key: str, img_keys: Sequence[str], pixel_range={}, bgr2rgb=False, name: str = 'visualizer', *args, **kwargs)[source]

Bases: mmengine.visualization.Visualizer

Visualize multiple images by concatenation.

This visualizer will horizontally concatenate images belongs to different keys and vertically concatenate images belongs to different frames to visualize.

Image to be visualized can be:
  • torch.Tensor or np.array

  • Image sequences of shape (T, C, H, W)

  • Multi-channel image of shape (1/3, H, W)

  • Single-channel image of shape (C, H, W)

Parameters
  • fn_key (str) – key used to determine file name for saving image. Usually it is the path of some input image. If the value is dir/basename.ext, the name used for saving will be basename.

  • img_keys (str) – keys, values of which are images to visualize.

  • pixel_range (dict) – min and max pixel value used to denormalize images, note that only float array or tensor will be denormalized, uint8 arrays are assumed to be unnormalized.

  • bgr2rgb (bool) – whether to convert the image from BGR to RGB.

  • name (str) – name of visualizer. Default: ‘visualizer’.

  • **kwargs (*args and) – Other arguments are passed to Visualizer. # noqa

add_datasample(data_sample: mmagic.structures.DataSample, step=0) None[source]

Concatenate image and draw.

Parameters
  • input (torch.Tensor) – Single input tensor from data_batch.

  • data_sample (DataSample) – Single data_sample from data_batch.

  • output (DataSample) – Single prediction output by model.

  • step (int) – Global step value to record. Default: 0.

class mmagic.visualization.PaviVisBackend(save_dir: str, exp_name: Optional[str] = None, labels: Optional[str] = None, project: Optional[str] = None, model: Optional[str] = None, description: Optional[str] = None)[source]

Bases: mmengine.visualization.BaseVisBackend

Visualization backend for Pavi.

property experiment: VisBackend

Return the experiment object associated with this visualization backend.

_init_env()[source]

Init save dir.

add_image(name: str, image: numpy.array, step: int = 0, **kwargs) None[source]

Record the image to Pavi.

Parameters
  • name (str) – The image identifier.

  • image (np.ndarray) – The image to be saved. The format should be RGB. Default to None.

  • step (int) – Global step value to record. Default to 0.

add_scalar(name: str, value: Union[int, float, torch.Tensor, numpy.ndarray], step: int = 0, **kwargs) None[source]

Record the scalar data to Pavi.

Parameters
  • name (str) – The scalar identifier.

  • value (int, float, torch.Tensor, np.ndarray) – Value to save.

  • step (int) – Global step value to record. Default to 0.

add_scalars(scalar_dict: dict, step: int = 0, file_path: Optional[str] = None, **kwargs) None[source]

Record the scalars to Pavi.

The scalar dict will be written to the default and specified files if file_path is specified.

Parameters
  • scalar_dict (dict) – Key-value pair storing the tag and corresponding values. The value must be dumped into json format.

  • step (int) – Global step value to record. Default to 0.

  • file_path (str, optional) – The scalar’s data will be saved to the file_path file at the same time if the file_path parameter is specified. Default to None.

class mmagic.visualization.TensorboardVisBackend(save_dir: str)[source]

Bases: mmengine.visualization.TensorboardVisBackend

Tensorboard visualization backend class.

It can write images, config, scalars, etc. to a tensorboard file.

Examples

>>> from mmengine.visualization import TensorboardVisBackend
>>> import numpy as np
>>> vis_backend = TensorboardVisBackend(save_dir='temp_dir')
>>> img = np.random.randint(0, 256, size=(10, 10, 3))
>>> vis_backend.add_image('img', img)
>>> vis_backend.add_scaler('mAP', 0.6)
>>> vis_backend.add_scalars({'loss': 0.1,'acc':0.8})
>>> cfg = Config(dict(a=1, b=dict(b1=[0, 1])))
>>> vis_backend.add_config(cfg)
Parameters

save_dir (str) – The root directory to save the files produced by the backend.

add_image(name: str, image: numpy.array, step: int = 0, **kwargs)[source]

Record the image to Tensorboard. Additional support upload gif files.

Parameters
  • name (str) – The image identifier.

  • image (np.ndarray) – The image to be saved. The format should be RGB.

  • step (int) – Useless parameter. Wandb does not need this parameter. Default to 0.

class mmagic.visualization.VisBackend(save_dir: str, img_save_dir: str = 'vis_image', config_save_file: str = 'config.py', scalar_save_file: str = 'scalars.json', ceph_path: Optional[str] = None, delete_local_image: bool = True)[source]

Bases: mmengine.visualization.BaseVisBackend

MMagic visualization backend class. It can write image, config, scalars, etc. to the local hard disk and ceph path. You can get the drawing backend through the experiment property for custom drawing.

Examples

>>> from mmagic.visualization import VisBackend
>>> import numpy as np
>>> vis_backend = VisBackend(save_dir='temp_dir',
>>>                          ceph_path='s3://temp-bucket')
>>> img = np.random.randint(0, 256, size=(10, 10, 3))
>>> vis_backend.add_image('img', img)
>>> vis_backend.add_scalar('mAP', 0.6)
>>> vis_backend.add_scalars({'loss': [1, 2, 3], 'acc': 0.8})
>>> cfg = Config(dict(a=1, b=dict(b1=[0, 1])))
>>> vis_backend.add_config(cfg)
Parameters
  • save_dir (str) – The root directory to save the files produced by the visualizer.

  • img_save_dir (str) – The directory to save images. Default to ‘vis_image’.

  • config_save_file (str) – The file name to save config. Default to ‘config.py’.

  • scalar_save_file (str) – The file name to save scalar values. Default to ‘scalars.json’.

  • ceph_path (Optional[str]) – The remote path of Ceph cloud storage. Defaults to None.

  • delete_local (bool) – Whether delete local after uploading to ceph or not. If ceph_path is None, this will be ignored. Defaults to True.

property experiment: VisBackend

Return the experiment object associated with this visualization backend.

_init_env()[source]

Setup env for VisBackend.

add_config(config: mmengine.config.Config, **kwargs) None[source]

Record the config to disk.

Parameters

config (Config) – The Config object

add_image(name: str, image: numpy.array, step: int = 0, **kwargs) None[source]

Record the image to disk.

Parameters
  • name (str) – The image identifier.

  • image (np.ndarray) – The image to be saved. The format should be RGB. Default to None.

  • step (int) – Global step value to record. Default to 0.

add_scalar(name: str, value: Union[int, float, torch.Tensor, numpy.ndarray], step: int = 0, **kwargs) None[source]

Record the scalar data to disk.

Parameters
  • name (str) – The scalar identifier.

  • value (int, float, torch.Tensor, np.ndarray) – Value to save.

  • step (int) – Global step value to record. Default to 0.

add_scalars(scalar_dict: dict, step: int = 0, file_path: Optional[str] = None, **kwargs) None[source]

Record the scalars to disk.

The scalar dict will be written to the default and specified files if file_path is specified.

Parameters
  • scalar_dict (dict) – Key-value pair storing the tag and corresponding values. The value must be dumped into json format.

  • step (int) – Global step value to record. Default to 0.

  • file_path (str, optional) – The scalar’s data will be saved to the file_path file at the same time if the file_path parameter is specified. Default to None.

_dump(value_dict: dict, file_path: str, file_format: str) None[source]

dump dict to file.

Parameters
  • value_dict (dict) – The dict data to saved.

  • file_path (str) – The file path to save data.

  • file_format (str) – The file format to save data.

_upload(path: str, delete_local=False) None[source]

Upload file at path to remote.

Parameters

path (str) – Path of file to upload.

class mmagic.visualization.WandbVisBackend(save_dir: str, init_kwargs: Optional[dict] = None, define_metric_cfg: Union[dict, list, None] = None, commit: Optional[bool] = True, log_code_name: Optional[str] = None, watch_kwargs: Optional[dict] = None)[source]

Bases: mmengine.visualization.WandbVisBackend

Wandb visualization backend for MMagic.

_init_env()[source]

Setup env for wandb.

add_image(name: str, image: numpy.array, step: int = 0, **kwargs)[source]

Record the image to wandb. Additional support upload gif files.

Parameters
  • name (str) – The image identifier.

  • image (np.ndarray) – The image to be saved. The format should be RGB.

  • step (int) – Useless parameter. Wandb does not need this parameter. Default to 0.

class mmagic.visualization.Visualizer(name='visualizer', vis_backends: Optional[List[Dict]] = None, save_dir: Optional[str] = None)[source]

Bases: mmengine.visualization.Visualizer

MMagic Visualizer.

Parameters
  • name (str) – Name of the instance. Defaults to ‘visualizer’.

  • 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.

Examples:

>>> # Draw image
>>> vis = Visualizer()
>>> vis.add_datasample(
>>>     'random_noise',
>>>     gen_samples=torch.rand(2, 3, 10, 10),
>>>     gt_samples=dict(imgs=torch.randn(2, 3, 10, 10)),
>>>     gt_keys='imgs',
>>>     vis_mode='image',
>>>     n_rows=2,
>>>     step=10)
static _post_process_image(image: torch.Tensor) torch.Tensor[source]

Post process images.

Parameters

image (Tensor) – Image to post process. The value range of image should be in [0, 255] and the channel order should be BGR.

Returns

Image in RGB color order.

Return type

Tensor

static _get_n_row_and_padding(samples: Tuple[dict, torch.Tensor], n_row: Optional[int] = None) Tuple[int, Optional[torch.Tensor]][source]

Get number of sample in each row and tensor for padding the empty position.

Parameters
  • samples (Tuple[dict, Tensor]) – Samples to visualize.

  • n_row (int, optional) – Number of images displayed in each row of. If not passed, n_row will be set as int(sqrt(batch_size)).

Returns

Number of sample in each row and tensor

for padding the empty position.

Return type

Tuple[int, Optional[int]]

_vis_gif_sample(gen_samples: mmagic.utils.typing.SampleList, target_keys: Union[str, List[str], None], n_row: int) numpy.ndarray[source]

Visualize gif samples.

Parameters
  • gen_samples (SampleList) – List of data samples to visualize

  • target_keys (Union[str, List[str], None]) – Keys of the visualization target in data samples.

  • n_rows (int, optional) – Number of images in one row.

Returns

The visualization results.

Return type

np.ndarray

_vis_image_sample(gen_samples: mmagic.utils.typing.SampleList, target_keys: Union[str, List[str], None], n_row: int) numpy.ndarray[source]

Visualize image samples.

Parameters
  • gen_samples (SampleList) – List of data samples to visualize

  • target_keys (Union[str, List[str], None]) – Keys of the visualization target in data samples.

  • color_order (str) – The color order of the passed images.

  • target_mean (Sequence[Union[float, int]]) – The target mean of the visualization results.

  • target_std (Sequence[Union[float, int]]) – The target std of the visualization results.

  • n_rows (int, optional) – Number of images in one row.

Returns

The visualization results.

Return type

np.ndarray

_get_vis_data_by_key(sample: mmagic.structures.DataSample, key: str) torch.Tensor[source]

Get tensor in DataSample by the given key.

Parameters
  • sample (DataSample) – Input data sample.

  • key (str) – Name of the target tensor.

Returns

Tensor from the data sample.

Return type

Tensor

add_datasample(name: str, *, gen_samples: Sequence[mmagic.structures.DataSample], target_keys: Optional[Tuple[str, List[str]]] = None, vis_mode: Optional[str] = None, n_row: Optional[int] = None, show: bool = False, wait_time: int = 0, step: int = 0, **kwargs) None[source]

Draw datasample and save to all backends.

If GT and prediction are plotted at the same time, they are displayed in a stitched image where the left image is the ground truth and the right image is the prediction.

If show is True, all storage backends are ignored, and the images will be displayed in a local window.

Parameters
  • name (str) – The image identifier.

  • gen_samples (List[DataSample]) – Data samples to visualize.

  • vis_mode (str, optional) – Visualization mode. If not passed, will visualize results as image. Defaults to None.

  • n_rows (int, optional) – Number of images in one row. Defaults to None.

  • color_order (str) – The color order of the passed images. Defaults to ‘bgr’.

  • target_mean (Sequence[Union[float, int]]) – The target mean of the visualization results. Defaults to 127.5.

  • target_std (Sequence[Union[float, int]]) – The target std of the visualization results. Defaults to 127.5.

  • show (bool) – Whether to display the drawn image. Default to False.

  • wait_time (float) – The interval of show (s). Defaults to 0.

  • step (int) – Global step value to record. Defaults to 0.

add_image(name: str, image: numpy.ndarray, step: int = 0, **kwargs) None[source]

Record the image. Support input kwargs.

Parameters
  • name (str) – The image identifier.

  • image (np.ndarray, optional) – The image to be saved. The format should be RGB. Default to None.

  • step (int) – Global step value to record. Default to 0.

Read the Docs v: latest
Versions
latest
stable
0.x
Downloads
pdf
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.