ResNet50 INT8 with ONNX Runtime (internal pre-processing)
Note
Ensure
model-pathis set to point to your available model before running.Replace INPUT and INPUT_WIDTH/INPUT_HEIGHT in all subsequent commands.
Make sure
label-file-pathis pointing to the appropriate label file for the model in test.
gst-launch-1.0 filesrc location=<INPUT>.nv12 \
! rawvideoparse format=nv12 width=<INPUT_WIDTH> height=<INPUT_HEIGHT> ! queue \
! vvas_xinfer config-file=/etc/vvas/configs/infer/resnet50_int8_onnxrt_intppe.json ! queue \
! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_config.json \
! vvas_xoverlay ! queue ! filesink location=out_resnet50_int8_onnx.nv12 -v
ResNet50 INT8 with VART zero-copy (internal pre-processing)
Note
Ensure
model-pathis set to point to your available model before running.Replace INPUT and INPUT_WIDTH/INPUT_HEIGHT in all subsequent commands.
Make sure
label-file-pathis pointing to the appropriate label file for the model in test.
gst-launch-1.0 filesrc location=<INPUT>.nv12 \
! rawvideoparse format=nv12 width=<INPUT_WIDTH> height=<INPUT_HEIGHT> ! queue \
! vvas_xinfer config-file=/etc/vvas/configs/infer/resnet50_int8_vart_zerocopy_intppe.json ! queue \
! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_config.json \
! vvas_xoverlay ! queue ! filesink location=out_resnet50_int8_vart.nv12 -v
ResNet50 INT8 with VART zero-copy (external pre-processing)
Note
Ensure
model-pathis set to point to your available model before running.Replace INPUT and INPUT_WIDTH/INPUT_HEIGHT in all subsequent commands.
label-file-paththe label file will be available from VVAS source, make sure to point this to the correct location.With external pre-processing for
vvas_xinfer, we need to additionally usevvas_metaaffixerto pass on the inference result further down the pipeline. Refer to vvas_xmetaaffixer for more details.
gst-launch-1.0 filesrc location=<INPUT>.bgr \
! rawvideoparse format=bgr width=<INPUT_WIDTH> height=<INPUT_HEIGHT> \
! tee name=t ! queue \
! vvas_xabrscaler xclbin-location=/run/media/mmcblk0p1/x_plus_ml.xclbin alpha-r=123.675 alpha-g=116.280 alpha-b=103.530 beta-r=0.017124 beta-g=0.017507 beta-b=0.017429 \
! vvas_xinfer config-file=/etc/vvas/configs/infer/resnet50_int8_vart_zerocopy_extppe.json \
! ma1.sink_master vvas_xmetaaffixer name=ma1 ma1.src_master ! \
fakesink -v \
t. ! queue \
! ma1.sink_slave_0 ma1.src_slave_0 ! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_config.json \
! vvas_xoverlay ! queue \
! filesink location=out_resnet50_int8_vart.bgr
Segmentation model with ONNX Runtime (internal pre-processing)
The following example runs inference with a user-provided segmentation model and renders a colour-coded class overlay on the output frame.
Note
Ensure
model-pathis set to point to your compiled segmentation model before running.Replace INPUT, INPUT_WIDTH, and INPUT_HEIGHT with your input file path and frame dimensions.
Make sure the
classesarray in thevvas_xmetaconvertconfiguration matches your model’s class set. The example configuration includes 21 classes.
gst-launch-1.0 filesrc location=<INPUT>.bgr \
! rawvideoparse format=bgr width=<INPUT_WIDTH> height=<INPUT_HEIGHT> ! queue \
! vvas_xinfer config-file=/etc/vvas/configs/infer/segmentation_onnxrt_intppe.json ! queue \
! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_segmentation.json \
! vvas_xoverlay ! queue ! filesink location=out_segmentation.bgr -v