VVAS historically supports post-processing based on the VvasCore post-processing library interface, where users can create custom post-processing libraries using defined interfaces to hook into the vvas_xinfer plugin flow without modifying the plugin code. VVAS provides example post-processing libraries for ResNet50 and YOLO models as demonstration use cases and reference implementations.
Traditional VvasCore Post-Processing:
"postprocess-config": {
"library-path": "/usr/lib/libvvascore_postprocess_resnet50-1.0.so",
"library-config": {
"topk": 1,
"label-file-path": "/etc/vvas/configs/infer/imagenet-classes-1000.txt"
}
}
VART-Based Post-Processing:
With this release, VVAS also supports VART-based post-processing operations that are based on operators rather
than model types. This provides flexibility to compose post-processing pipelines using various operators.
VVAS includes a standalone library implementation (libvvascore_postprocess_vart.so) for the VART-X interface,
requiring no modifications to the infer plugin itself.
Supported VART Post-Processing Operators:
Classification:
SOFTMAX
ARGMAX
TOPK
THRESHOLD
LABEL_MAPPING
NORMALIZATION
CALIBRATION_TEMPERATURE
CALIBRATION_PLATT
BIAS_CORRECTION
OUTLIER_DETECTION
UNCERTAINTY_ESTIMATION
Detection:
NMS
ANCHOR_ADJUSTMENT
CLASSWISE_NMS
DISTANCE_IOU_NMS
OBJECT_COUNT
SOFT_NMS
Segmentation:
SOFTMAXSEG
SIGMOIDSEG
ARGMAXSEG
Example VART Post-Processing Configuration:
The following is an example post-processing configuration using the SOFTMAX operator for ResNet50:
"postprocess-config": {
"library-path": "/usr/lib/libvvascore_postprocess_vart.so",
"library-config": {
"topk": 1,
"label-file-path": "/etc/vvas/configs/infer/imagenet-classes-1000.txt",
"type": "SOFTMAX",
"post-process-print": "false",
"model-params": {
"quant-scale-factors": [4.0]
}
}
}
Note
When using VART-based post-processing, ensure that the models are compiled with the flags in vitisai_config.json “fe_experiment”: “edge-quantization-in-rt=1 enable-output-without-rt-support=1”.
For detailed information about VART post-processing operators and their configuration, refer to the VART documentation.