Post-training Optimization Tool API Samples¶
The Post-training Optimization Tool contains multiple samples that demonstrate how to use its Software API to optimize DL models which require special inference pipeline, data loading or metric calculation that are not supported through the AccuracyCheker
or Simplified
engines (see Best Practices for more details).
All available samples can be found in <POT_DIR>/compression/api/samples
folder, where <POT_DIR>
is a directory where the Post-Training Optimization Tool is installed.
Note
<POT_DIR>
is referred to<ENV>/lib/python<version>/site-packages/
in the case of PyPI installation, where<ENV>
is a Python* environment where OpenVINO is installed and<version>
is a Python* version, e.g.3.6
or to<INSTALL_DIR>/deployment_tools/tools/post_training_optimization_toolkit
in the case of OpenVINO distribution package.<INSTALL_DIR>
is the directory where Intel Distribution of OpenVINO toolkit is installed.
There are currently the following samples that demonstrate the implementation of Engine
, Metric
and DataLoader
interfaces for classification, detection and segmentation tasks:
-
Uses single
MobilenetV2
model from TensorFlow*Implements
DataLoader
to load .JPEG images and annotations of Imagenet databaseImplements
Metric
interface to calculate Accuracy at top-1 metricUses DefaultQuantization algorithm for quantization model
-
Uses single
MobileNetV1 FPN
model from TensorFlow*Implements
Dataloader
to load images of COCO databaseImplements
Metric
interface to calculate mAP@[.5:.95] metricUses
AccuracyAwareQuantization
algorithm for quantization model
-
Uses single
DeepLabV3
model from TensorFlow*Implements
DataLoader
to load .JPEG images and annotations of Pascal VOC 2012 databaseImplements
Metric
interface to calculate Mean Intersection Over Union metricUses DefaultQuantization algorithm for quantization model
-
Uses single
Brain Tumor Segmentation
model from PyTorch*Implements
DataLoader
to load images in NIfTI format from Medical Segmentation Decathlon BRATS 2017 databaseImplements
Metric
interface to calculate Dice Index metricDemonstrates how to use image metadata obtained during data loading to post-process the raw model output
Uses DefaultQuantization algorithm for quantization model
-
Uses cascaded (composite)
MTCNN
model from Caffe* that consists of three separate models in an OpenVino Intermediate Representation (IR)Implements
Dataloader
to load .jpg images of WIDER FACE databaseImplements
Metric
interface to calculate Recall metricImplements
Engine
class that is inherited fromIEEngine
to create a complex staged pipeline to sequentially execute each of the three stages of the MTCNN model, represented by multiple models in IR. It uses engine helpers to set model in OpenVino Inference Engine and process raw model output for the correct statistics collectionUses DefaultQuantization algorithm for quantization model
-
Uses models from Kaldi*
Implements
DataLoader
to data in .ark formatUses DefaultQuantization algorithm for quantization model
After execution of each sample above the quantized model is placed into the folder optimized
. The accuracy validation of the quantized model is performed right after the quantization.