anomalib.deploy.inferencers¶
Inferencers for Torch and OpenVINO.
Submodules¶
Package Contents¶
Classes¶
Abstract class for the inference. |
|
OpenVINO implementation for the inference. |
|
PyTorch implementation for the inference. |
- class anomalib.deploy.inferencers.Inferencer[source]¶
Bases:
abc.ABCAbstract class for the inference.
This is used by both Torch and OpenVINO inference.
- abstract load_model(path: Union[str, pathlib.Path])¶
Load Model.
- abstract pre_process(image: numpy.ndarray) Union[numpy.ndarray, torch.Tensor]¶
Pre-process.
- abstract forward(image: Union[numpy.ndarray, torch.Tensor]) Union[numpy.ndarray, torch.Tensor]¶
Forward-Pass input to model.
- abstract post_process(predictions: Union[numpy.ndarray, torch.Tensor], meta_data: Optional[Dict[str, Any]]) Dict[str, Any]¶
Post-Process.
- predict(image: Union[str, numpy.ndarray, pathlib.Path], meta_data: Optional[Dict[str, Any]] = None) anomalib.post_processing.ImageResult¶
Perform a prediction for a given input image.
The main workflow is (i) pre-processing, (ii) forward-pass, (iii) post-process.
- Parameters
image (Union[str, np.ndarray]) – Input image whose output is to be predicted. It could be either a path to image or numpy array itself.
meta_data – Meta-data information such as shape, threshold.
- Returns
Prediction results to be visualized.
- Return type
- _superimpose_segmentation_mask(meta_data: dict, anomaly_map: numpy.ndarray, image: numpy.ndarray)¶
Superimpose segmentation mask on top of image.
- Parameters
meta_data (dict) – Metadata of the image which contains the image size.
anomaly_map (np.ndarray) – Anomaly map which is used to extract segmentation mask.
image (np.ndarray) – Image on which segmentation mask is to be superimposed.
- Returns
Image with segmentation mask superimposed.
- Return type
np.ndarray
- __call__(image: numpy.ndarray) anomalib.post_processing.ImageResult¶
Call predict on the Image.
- Parameters
image (np.ndarray) – Input Image
- Returns
Prediction results to be visualized.
- Return type
- _normalize(anomaly_maps: Union[torch.Tensor, numpy.ndarray], pred_scores: Union[torch.Tensor, numpy.float32], meta_data: Union[Dict, omegaconf.DictConfig]) Tuple[Union[numpy.ndarray, torch.Tensor], float]¶
Applies normalization and resizes the image.
- Parameters
anomaly_maps (Union[Tensor, np.ndarray]) – Predicted raw anomaly map.
pred_scores (Union[Tensor, np.float32]) – Predicted anomaly score
meta_data (Dict) – Meta data. Post-processing step sometimes requires additional meta data such as image shape. This variable comprises such info.
- Returns
- Post processed predictions that are ready to be visualized and
predicted scores.
- Return type
Tuple[Union[np.ndarray, Tensor], float]
- _load_meta_data(path: Optional[Union[str, pathlib.Path]] = None) Union[omegaconf.DictConfig, Dict]¶
Loads the meta data from the given path.
- Parameters
path (Optional[Union[str, Path]], optional) – Path to JSON file containing the metadata. If no path is provided, it returns an empty dict. Defaults to None.
- Returns
Dictionary containing the metadata.
- Return type
Union[DictConfig, Dict]
- class anomalib.deploy.inferencers.OpenVINOInferencer(config: Union[str, pathlib.Path, omegaconf.DictConfig, omegaconf.ListConfig], path: Union[str, pathlib.Path, Tuple[bytes, bytes]], meta_data_path: Union[str, pathlib.Path] = None)[source]¶
Bases:
anomalib.deploy.inferencers.base_inferencer.InferencerOpenVINO implementation for the inference.
- Parameters
config (Union[str, Path, DictConfig, ListConfig]) – 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(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(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(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(predictions: numpy.ndarray, meta_data: Optional[Union[Dict, omegaconf.DictConfig]] = None) Dict[str, Any]¶
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 prediction results.
- Return type
Dict[str, Any]
- class anomalib.deploy.inferencers.TorchInferencer(config: Union[str, pathlib.Path, omegaconf.DictConfig, omegaconf.ListConfig], model_source: Union[str, pathlib.Path, anomalib.models.components.AnomalyModule], meta_data_path: Union[str, pathlib.Path] = None)[source]¶
Bases:
anomalib.deploy.inferencers.base_inferencer.InferencerPyTorch implementation for the inference.
- Parameters
config (Union[str, Path, DictConfig, ListConfig]) – 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(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(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
- pre_process(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(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(predictions: torch.Tensor, meta_data: Optional[Union[Dict, omegaconf.DictConfig]] = None) Dict[str, Any]¶
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 prediction results.
- Return type
Dict[str, Union[str, float, np.ndarray]]