The following is a single VVAS Gstreamer pipeline process running two resnet50 models.
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_onnxrt_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_1_resnet50.bgr \
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_onnxrt_extppe.json ! \
ma2.sink_master vvas_xmetaaffixer name=ma2 ma2.src_master ! \
fakesink -v \
t. ! queue ! \
ma2.sink_slave_0 ma2.src_slave_0 ! vvas_xmetaconvert config-location=/etc/vvas/configs/metaconvert/metaconvert_config.json ! \
vvas_xoverlay ! queue ! \
filesink location=out_2_resnet50.bgr
Note
The following JSON examples are only samples. Ensure model-path is set to point to your available model before running.
Note
This example uses the same model on each branch. A combination of different models is also supported - simply point each vvas_xinfer instance to a different config file.