anomalib.deploy

Functions for Inference and model deployment.

Subpackages

Submodules

Package Contents

Classes

OpenVINOInferencer

OpenVINO implementation for the inference.

TorchInferencer

PyTorch implementation for the inference.

Functions

export_convert(model: anomalib.models.components.AnomalyModule, input_size: Union[List[int], Tuple[int, int]], onnx_path: Union[str, pathlib.Path], export_path: Union[str, pathlib.Path])

Export the model to onnx format and convert to OpenVINO IR.

get_model_metadata(model: anomalib.models.components.AnomalyModule) → Dict[str, torch.Tensor]

Get meta data related to normalization from model.

class anomalib.deploy.OpenVINOInferencer(config: Union[omegaconf.DictConfig, omegaconf.ListConfig], path: Union[str, pathlib.Path, Tuple[bytes, bytes]], meta_data_path: Union[str, pathlib.Path] = None)

Bases: anomalib.deploy.inferencers.base.Inferencer

OpenVINO implementation for the inference.

Parameters
  • config (DictConfig) – Configurable parameters that are used during the training stage.

  • path (Union[str, Path]) – Path to the openvino onnx, xml or bin file.

  • meta_data_path (Union[str, Path], optional) – Path to metadata file. Defaults to None.

load_model(self, path: Union[str, pathlib.Path, Tuple[bytes, bytes]])

Load the OpenVINO model.

Parameters

path (Union[str, Path, Tuple[bytes, bytes]]) – Path to the onnx or xml and bin files or tuple of .xml and .bin data as bytes.

Returns

Input and Output blob names

together with the Executable network.

Return type

[Tuple[str, str, ExecutableNetwork]]

pre_process(self, image: numpy.ndarray) numpy.ndarray

Pre process the input image by applying transformations.

Parameters

image (np.ndarray) – Input image.

Returns

pre-processed image.

Return type

np.ndarray

forward(self, image: numpy.ndarray) numpy.ndarray

Forward-Pass input tensor to the model.

Parameters

image (np.ndarray) – Input tensor.

Returns

Output predictions.

Return type

np.ndarray

post_process(self, predictions: numpy.ndarray, meta_data: Optional[Union[Dict, omegaconf.DictConfig]] = None) Tuple[numpy.ndarray, float]

Post process the output predictions.

Parameters
  • predictions (np.ndarray) – Raw output predicted by the model.

  • meta_data (Dict, optional) – Meta data. Post-processing step sometimes requires additional meta data such as image shape. This variable comprises such info. Defaults to None.

Returns

Post processed predictions that are ready to be visualized.

Return type

np.ndarray

class anomalib.deploy.TorchInferencer(config: Union[omegaconf.DictConfig, omegaconf.ListConfig], model_source: Union[str, pathlib.Path, anomalib.models.components.AnomalyModule], meta_data_path: Union[str, pathlib.Path] = None)

Bases: anomalib.deploy.inferencers.base.Inferencer

PyTorch implementation for the inference.

Parameters
  • config (DictConfig) – Configurable parameters that are used during the training stage.

  • model_source (Union[str, Path, AnomalyModule]) – Path to the model ckpt file or the Anomaly model.

  • meta_data_path (Union[str, Path], optional) – Path to metadata file. If none, it tries to load the params from the model state_dict. Defaults to None.

_load_meta_data(self, path: Optional[Union[str, pathlib.Path]] = None) Union[Dict, omegaconf.DictConfig]

Load metadata from file or from model state dict.

Parameters

path (Optional[Union[str, Path]], optional) – Path to metadata file. If none, it tries to load the params from the model state_dict. Defaults to None.

Returns

Dictionary containing the meta_data.

Return type

Dict

load_model(self, path: Union[str, pathlib.Path]) anomalib.models.components.AnomalyModule

Load the PyTorch model.

Parameters

path (Union[str, Path]) – Path to model ckpt file.

Returns

PyTorch Lightning model.

Return type

(AnomalyModule)

pre_process(self, image: numpy.ndarray) torch.Tensor

Pre process the input image by applying transformations.

Parameters

image (np.ndarray) – Input image

Returns

pre-processed image.

Return type

Tensor

forward(self, image: torch.Tensor) torch.Tensor

Forward-Pass input tensor to the model.

Parameters

image (Tensor) – Input tensor.

Returns

Output predictions.

Return type

Tensor

post_process(self, predictions: torch.Tensor, meta_data: Optional[Union[Dict, omegaconf.DictConfig]] = None) Tuple[numpy.ndarray, float]

Post process the output predictions.

Parameters
  • predictions (Tensor) – Raw output predicted by the model.

  • meta_data (Dict, optional) – Meta data. Post-processing step sometimes requires additional meta data such as image shape. This variable comprises such info. Defaults to None.

Returns

Post processed predictions that are ready to be visualized.

Return type

np.ndarray

anomalib.deploy.export_convert(model: anomalib.models.components.AnomalyModule, input_size: Union[List[int], Tuple[int, int]], onnx_path: Union[str, pathlib.Path], export_path: Union[str, pathlib.Path])[source]

Export the model to onnx format and convert to OpenVINO IR.

Parameters
  • model (AnomalyModule) – Model to convert.

  • input_size (Union[List[int], Tuple[int, int]]) – Image size used as the input for onnx converter.

  • onnx_path (Union[str, Path]) – Path to output onnx model.

  • export_path (Union[str, Path]) – Path to exported OpenVINO IR.

anomalib.deploy.get_model_metadata(model: anomalib.models.components.AnomalyModule) Dict[str, torch.Tensor][source]

Get meta data related to normalization from model.

Parameters

model (AnomalyModule) – Anomaly model which contains metadata related to normalization.

Returns

metadata

Return type

Dict[str, Tensor]