# Parallel inference using Python

Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/parallel-inference-using-python.html](https://docs.qualcomm.com/doc/80-70022-50/topic/parallel-inference-using-python.html)

The **gst-parallel-inference.py** application receives a video input from a
        camera, file, or an RTSP stream and sends it for a four-channel parallel processing by AI
        models (classification, object detection, pose detection and segmentation). The output is
        displayed as a preview with the overlaid AI models.

Figure : gst-parallel-inference.py pipeline
            
            <?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1302.649993896484375" height="375.808677673339844" viewbox="0 0 1302.649993896484375 375.808677673339844">
  <g id="Layer_2" data-name="Layer 2">
    <g>
      <rect x=".500091552734375" y=".499931335449219" width="1301.64990234375" height="374.80859375" rx="7.500000000000001" ry="7.500000000000001" style="fill: #fafafa;"></rect>
      <path d="M1294.649993896484375,1c3.85986328125,0,7,3.140167236328125,7,7v359.808677673339844c0,3.859832763671875-3.14013671875,7-7,7H8c-3.859832763671875,0-7-3.140167236328125-7-7V8c0-3.859832763671875,3.140167236328125-7,7-7h1286.649993896484375M1294.649993896484375,0H8C3.5816650390625,0,0,3.581836700439453,0,8v359.808677673339844c0,4.41815185546875,3.5816650390625,8,8,8h1286.649993896484375c4.4183349609375,0,8-3.58184814453125,8-8V8c0-4.418163299560547-3.5816650390625-8-8-8h0Z" style="fill: #d2d7e1;"></path>
    </g>
    <g>
      <g>
        <text transform="translate(1111.985687255859375 351.900173187255859)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Qualcomm </tspan></text>
        <rect x="1091.734699531520164" y="339.808677673339844" width="16" height="16" rx="2" ry="2" style="fill: #2a2aea;"></rect>
      </g>
      <g>
        <text transform="translate(1210.567489624023438 351.900173187255859)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
        <rect x="1190.316480944373325" y="339.808677673339844" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
      </g>
    </g>
  </g>
  <g id="Layer_3" data-name="Layer 3">
    <rect x="70.568770621959629" y="261.049590108319535" width="86" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="156.568756103515625" y1="291.049583435058594" x2="169.21197509765625" y2="291.049583435058594" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="168.044769287109375 295.038658142089844 174.95294189453125 291.049583435058594 168.044769287109375 287.060539245605469 168.044769287109375 295.038658142089844"></polygon>
    </g>
    <line x1="57.89980792285678" y1="291.049590108319535" x2="70.568770621959629" y2="291.049590108319535" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <rect x="175.022247111814977" y="261.049590108319535" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="270.022247314453125" y1="291.049583435058594" x2="282.665435791015625" y2="291.049583435058594" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="281.498245239257812 295.038658142089844 288.406417846679688 291.049583435058594 281.498245239257812 287.060539245605469 281.498245239257812 295.038658142089844"></polygon>
    </g>
    <rect x="288.475723601670325" y="261.049590108319535" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="383.475723266601562" y1="291.049583435058594" x2="396.118917465209961" y2="291.049583435058594" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="394.951725006103516 295.038658142089844 401.859901428222656 291.049583435058594 394.951725006103516 287.060539245605469 394.951725006103516 295.038658142089844"></polygon>
    </g>
    <rect x="401.929200091526582" y="261.049590108319535" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="496.92919921875" y1="291.049583435058594" x2="509.572395324707031" y2="291.049583435058594" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="508.405204772949219 295.038658142089844 515.313377380371094 291.049583435058594 508.405204772949219 287.060539245605469 508.405204772949219 295.038658142089844"></polygon>
    </g>
    <rect x="515.38267658138102" y="22.067736686879471" width="60.000000000001819" height="298.981853421440064" rx="4" ry="4" style="fill: #007884;"></rect>
    <rect x="1060.196582540809686" y="25.332601144937144" width="104.000000000003638" height="295.716988963382391" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <g>
      <line x1="1164.196563720703125" y1="173.191093444824219" x2="1176.839752197265625" y2="173.191093444824219" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1175.672576904296875 177.180152893066406 1182.580780029296875 173.191093444824219 1175.672576904296875 169.202033996582031 1175.672576904296875 177.180152893066406"></polygon>
    </g>
    <line x1="1232.650059030667762" y1="145.406000390703412" x2="1232.650059030667762" y2="129.909717633599939" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <rect x="1182.650059030665943" y="145.804024612090871" width="100.000000000003638" height="54.774142029076756" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(90.00189208984375 294.571708679199219)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">rtspsrc </tspan></text>
    <text transform="translate(196.55914306640625 287.741264343261719)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">rtph264 </tspan><tspan x="5.52685546875" y="16.7998046875">depay </tspan></text>
    <text transform="translate(302.907035827636719 295.141166687011719)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">h264parse</tspan></text>
    <text transform="translate(408.447574615478516 295.140983581542969)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
    <text transform="translate(535.679046630859375 175.649894714355469)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">tee</tspan></text>
    <text transform="translate(1069.444488525390625 177.282646179199219)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtivcomposer</tspan></text>
    <text transform="translate(1191.552032470703125 177.282585144042969)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Waylandsink </tspan></text>
    <g>
      <g>
        <rect x="1211.650059030667762" y="90.25068076504067" width="42" height="29.400000000001455" rx="4" ry="4" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
        <line x1="1224.250059030662669" y1="128.050680765038123" x2="1241.050059030660123" y2="128.050680765038123" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
      </g>
      <line x1="1232.650059030667762" y1="119.650680765042125" x2="1232.650059030667762" y2="128.050680765038123" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
    </g>
    <g>
      <path d="M43.503444387299169,39.099882705435448h-9l-4.5,5.400000000001455h-5.400000000001455c-1.988224983215332,0-3.599999999998545,1.611775016783213-3.599999999998545,3.599999999998545v16.200000000000728c0,1.988226699828374,1.611775016783213,3.600000000002183,3.599999999998545,3.600000000002183h28.80000000000291c1.988226699828374,0,3.599999999998545-1.611773300173809,3.599999999998545-3.600000000002183v-16.200000000000728c0-1.988224983215332-1.611773300170171-3.599999999998545-3.599999999998545-3.599999999998545h-5.400000000001455l-4.5-5.400000000001455Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <circle cx="39.003444387299169" cy="53.499882705436903" r="5.400000000001455" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></circle>
    </g>
    <g>
      <path d="M45.753444387299169,150.774736406878219h-20.25c-2.485281229017346,0-4.5,2.014718770980835-4.5,4.5v36c0,2.485283374786377,2.014718770982654,4.5,4.5,4.5h27c2.485283374786377,0,4.5-2.014716625213623,4.5-4.5v-29.25l-11.25-11.25Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M43.503444387299169,150.774736406878219v9c0,2.485281229019165,2.014718770980835,4.5,4.5,4.5h9" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M34.503444387299169,171.024736406878219l11.25,6.75-11.25,6.75v-13.5Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
    </g>
    <g>
      <path d="M35.403444387298805,287.399590108316261c.001393890381223-.745582866666155.606937980652219-1.348867893218994,1.352521705628533-1.347474002834133.248203468321663.000463485717773.491475105285645.069345188137959.703078651427859.199073982235859l6.595199203491575,4.048200130462646c.635238075255984.390344238281614.833762741087412,1.221743202209836.443418502807617,1.85698127746582-.110953330993652.180562019348145-.262856483459473.332465171813965-.443418502807617.443418502807617l-6.595199203491575,4.05000000000291c-.63563804626574.389691925047373-1.466832733154661.190314102170305-1.856524658203853-.445323944091797-.130368232727051-.212645530700684-.199274826049077-.457250976563955-.199075698852539-.706676673891707v-8.098199272157217Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M30.003444387299169,311.249590108320263h18" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <rect x="21.003444387299169" y="278.849590108318807" width="36" height="25.199999999998909" rx="2" ry="2" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
    </g>
    <rect x="70.568770621959629" y="143.274736406878219" width="86" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="156.568756103515625" y1="173.274742126464844" x2="169.21197509765625" y2="173.274742126464844" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="168.044769287109375 177.263801574707031 174.95294189453125 173.274742126464844 168.044769287109375 169.285667419433594 168.044769287109375 177.263801574707031"></polygon>
    </g>
    <line x1="57.89980792285678" y1="173.274736406878219" x2="70.568770621959629" y2="173.274736406878219" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <rect x="175.022247111814977" y="143.274736406878219" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="270.022247314453125" y1="173.274742126464844" x2="282.665435791015625" y2="173.274742126464844" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="281.498245239257812 177.263801574707031 288.406417846679688 173.274742126464844 281.498245239257812 169.285667419433594 281.498245239257812 177.263801574707031"></polygon>
    </g>
    <rect x="288.475723601670325" y="143.274736406878219" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="383.475723266601562" y1="173.274742126464844" x2="396.118917465209961" y2="173.274742126464844" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="394.951725006103516 177.263801574707031 401.859901428222656 173.274742126464844 394.951725006103516 169.285667419433594 394.951725006103516 177.263801574707031"></polygon>
    </g>
    <rect x="401.929200091526582" y="143.274736406878219" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="496.92919921875" y1="173.274742126464844" x2="509.572395324707031" y2="173.274742126464844" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="508.405204772949219 177.263801574707031 515.313377380371094 173.274742126464844 508.405204772949219 169.285667419433594 508.405204772949219 177.263801574707031"></polygon>
    </g>
    <text transform="translate(94.39056396484375 176.796867370605469)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">filesrc</tspan></text>
    <text transform="translate(195.13726806640625 177.366447448730469)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtdemux</tspan></text>
    <text transform="translate(302.907035827636719 177.366325378417969)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">h264parse</tspan></text>
    <text transform="translate(408.447574615478516 177.366142272949219)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
    <rect x="70.568770621959629" y="25.499882705436903" width="86" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <g>
      <line x1="156.568756103515625" y1="55.499885559082031" x2="509.641693115234375" y2="55.499885559082031" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="508.474502563476562 59.488945007324219 515.382675170898438 55.499885559082031 508.474502563476562 51.510818481445312 508.474502563476562 59.488945007324219"></polygon>
    </g>
    <line x1="57.89980792285678" y1="55.499882705436903" x2="70.568770621959629" y2="55.499882705436903" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <text transform="translate(77.28363037109375 59.591209411621094)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtiqmmfsrc</tspan></text>
    <g>
      <g>
        <line x1="718.836151123046875" y1="67.252975463867188" x2="731.479339599609375" y2="67.252975463867188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="730.312164306640625 71.242042541503906 737.2203369140625 67.252975463867188 730.312164306640625 63.263916015625 730.312164306640625 71.242042541503906"></polygon>
      </g>
      <g>
        <line x1="575.382675170898438" y1="67.252975463867188" x2="588.025863647460938" y2="67.252975463867188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="586.858673095703125 71.242042541503906 593.766860961914062 67.252975463867188 586.858673095703125 63.263916015625 586.858673095703125 71.242042541503906"></polygon>
      </g>
      <rect x="737.289629561098991" y="44.752978881178933" width="105" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="842.30999755859375" y1="67.252975463867188" x2="854.95318603515625" y2="67.252975463867188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="853.7860107421875 71.242042541503906 860.694183349609375 67.252975463867188 853.7860107421875 63.263916015625 853.7860107421875 71.242042541503906"></polygon>
      </g>
      <g>
        <line x1="1005.743133544921875" y1="67.252975463867188" x2="1054.386322021484375" y2="67.252975463867188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1053.219085693359375 71.242042541503906 1060.127288818359375 67.252975463867188 1053.219085693359375 63.263916015625 1053.219085693359375 71.242042541503906"></polygon>
      </g>
      <g>
        <rect x="593.836153071237277" y="44.752978881178933" width="125" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(607.797821044921875 71.344017028808594)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      </g>
      <text transform="translate(759.882598876953125 71.344291687011719)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite</tspan></text>
      <g>
        <rect x="860.743106050957067" y="44.752978881178933" width="145" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(878.750335693359375 71.344017028808594)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      </g>
      <text transform="translate(1010.506500244140625 62.253196716308594)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_1</tspan></text>
      <g>
        <line x1="575.382675170898438" y1="35.499885559082031" x2="1054.386322021484375" y2="35.499885559082031" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1053.219085693359375 39.488945007324219 1060.127288818359375 35.499885559082031 1053.219085693359375 31.510818481445312 1053.219085693359375 39.488945007324219"></polygon>
      </g>
      <text transform="translate(1010.506683349609375 30.500053405761719)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_0</tspan></text>
    </g>
    <g>
      <g>
        <line x1="718.836151123046875" y1="142.310180559090441" x2="731.479339599609375" y2="142.310180559090441" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="730.312164306640625 146.299247636727159 737.2203369140625 142.310180559090441 730.312164306640625 138.321121110848253 730.312164306640625 146.299247636727159"></polygon>
      </g>
      <g>
        <line x1="575.382675170898438" y1="142.310180559090441" x2="588.025863647460938" y2="142.310180559090441" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="586.858673095703125 146.299247636727159 593.766860961914062 142.310180559090441 586.858673095703125 138.321121110848253 586.858673095703125 146.299247636727159"></polygon>
      </g>
      <rect x="737.289629561098991" y="119.810183976402186" width="105" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="842.30999755859375" y1="142.310188293457031" x2="854.95318603515625" y2="142.310188293457031" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="853.7860107421875 146.299247741699219 860.694183349609375 142.310188293457031 853.7860107421875 138.321113586425781 853.7860107421875 146.299247741699219"></polygon>
      </g>
      <g>
        <line x1="1005.743133544921875" y1="142.310180559090441" x2="1054.386322021484375" y2="142.310180559090441" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1053.219085693359375 146.299247636727159 1060.127288818359375 142.310180559090441 1053.219085693359375 138.321121110848253 1053.219085693359375 146.299247636727159"></polygon>
      </g>
      <g>
        <rect x="593.836153071237277" y="119.810183976402186" width="125" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(607.797821044921875 146.401206970214844)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      </g>
      <text transform="translate(759.882598876953125 146.401481628417969)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite</tspan></text>
      <g>
        <rect x="860.743106050957067" y="119.810183976402186" width="145" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(878.750335693359375 146.401206970214844)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      </g>
      <text transform="translate(1010.506500244140625 137.310386657714844)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_3</tspan></text>
      <g>
        <line x1="575.382675170898438" y1="110.557090654305284" x2="1054.386322021484375" y2="110.557090654305284" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1053.219085693359375 114.546150102547472 1060.127288818359375 110.557090654305284 1053.219085693359375 106.568023576668566 1053.219085693359375 114.546150102547472"></polygon>
      </g>
      <text transform="translate(1010.506683349609375 105.557243347167969)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_2</tspan></text>
    </g>
    <g>
      <g>
        <line x1="718.836151123046875" y1="217.367385654313694" x2="731.479339599609375" y2="217.367385654313694" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="730.312164306640625 221.356452731950412 737.2203369140625 217.367385654313694 730.312164306640625 213.378326206071506 730.312164306640625 221.356452731950412"></polygon>
      </g>
      <g>
        <line x1="575.382675170898438" y1="217.367385654313694" x2="588.025863647460938" y2="217.367385654313694" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="586.858673095703125 221.356452731950412 593.766860961914062 217.367385654313694 586.858673095703125 213.378326206071506 586.858673095703125 221.356452731950412"></polygon>
      </g>
      <rect x="737.289629561098991" y="194.867389071625439" width="105" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="842.30999755859375" y1="217.367393493652344" x2="854.95318603515625" y2="217.367393493652344" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="853.7860107421875 221.356468200683594 860.694183349609375 217.367393493652344 853.7860107421875 213.378318786621094 853.7860107421875 221.356468200683594"></polygon>
      </g>
      <g>
        <line x1="1005.743133544921875" y1="217.367385654313694" x2="1054.386322021484375" y2="217.367385654313694" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1053.219085693359375 221.356452731950412 1060.127288818359375 217.367385654313694 1053.219085693359375 213.378326206071506 1053.219085693359375 221.356452731950412"></polygon>
      </g>
      <g>
        <rect x="593.836153071237277" y="194.867389071625439" width="125" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(607.797821044921875 221.458427429199219)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      </g>
      <text transform="translate(759.882598876953125 221.458671569824219)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite</tspan></text>
      <g>
        <rect x="860.743106050957067" y="194.867389071625439" width="145" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(878.750823974609375 221.458427429199219)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      </g>
      <text transform="translate(1010.506500244140625 212.367607116699219)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_5</tspan></text>
      <g>
        <line x1="575.382675170898438" y1="185.614295749528537" x2="1054.386322021484375" y2="185.614295749528537" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1053.219085693359375 189.603355197770725 1060.127288818359375 185.614295749528537 1053.219085693359375 181.625228671891819 1053.219085693359375 189.603355197770725"></polygon>
      </g>
      <text transform="translate(1010.506683349609375 180.614433288574219)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_4</tspan></text>
    </g>
    <g>
      <g>
        <line x1="718.836151123046875" y1="292.424590749536947" x2="731.479339599609375" y2="292.424590749536947" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="730.312164306640625 296.413657827173665 737.2203369140625 292.424590749536947 730.312164306640625 288.435531301294759 730.312164306640625 296.413657827173665"></polygon>
      </g>
      <g>
        <line x1="575.382675170898438" y1="292.424590749536947" x2="588.025863647460938" y2="292.424590749536947" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="586.858673095703125 296.413657827173665 593.766860961914062 292.424590749536947 586.858673095703125 288.435531301294759 586.858673095703125 296.413657827173665"></polygon>
      </g>
      <rect x="737.289629561098991" y="269.924594166848692" width="105" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="842.30999755859375" y1="292.424583435058594" x2="854.95318603515625" y2="292.424583435058594" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="853.7860107421875 296.413658142089844 860.694183349609375 292.424583435058594 853.7860107421875 288.435539245605469 853.7860107421875 296.413658142089844"></polygon>
      </g>
      <g>
        <line x1="1005.743133544921875" y1="292.424590749536947" x2="1054.386322021484375" y2="292.424590749536947" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1053.219085693359375 296.413657827173665 1060.127288818359375 292.424590749536947 1053.219085693359375 288.435531301294759 1053.219085693359375 296.413657827173665"></polygon>
      </g>
      <g>
        <rect x="593.836153071237277" y="269.924594166848692" width="125" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(607.797821044921875 296.515617370605469)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      </g>
      <text transform="translate(759.882598876953125 296.515861511230469)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite</tspan></text>
      <g>
        <rect x="860.743106050957067" y="269.924594166848692" width="145" height="45" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(878.750335693359375 296.515617370605469)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      </g>
      <text transform="translate(1010.506500244140625 287.424797058105469)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_7</tspan></text>
      <g>
        <line x1="575.382675170898438" y1="260.67150084475179" x2="1054.386322021484375" y2="260.67150084475179" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1053.219085693359375 264.660560292993978 1060.127288818359375 260.67150084475179 1053.219085693359375 256.682433767115072 1053.219085693359375 264.660560292993978"></polygon>
      </g>
      <text transform="translate(1010.506683349609375 255.671623229980469)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_6</tspan></text>
    </g>
  </g>
</svg>

For information about the plugins used in this pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70022-50/topic/parallel-inference-using-python.html#parallel-inference-using-python__section_gcg_r3s_lbc).

## Model and label files

The following table lists the model and label files that should be available on the
                device before running the application.

Table : Default model and label files for gst-parallel-inference.py

| Inference | Model directory | Label directory |
| --- | --- | --- |
| Object detection | /etc/models/yolox\_quantized.tflite | /etc/labels/yolox.json |
| Pose estimation | /etc/models/hrnet\_pose\_quantized.tflite | <ul class="ul" id="parallel-inference-using-python__ul_vtq_lt5_qgc"><br>                                    <li class="li"><span class="ph filepath">etc/labels/hrnet_pose.json</span></li><br><br>                                    <li class="li"><span class="ph filepath">hrnet_settings.json</span></li><br><br>                                </ul> |
| Segmentation | /etc/models/deeplabv3\_plus\_mobilenet\_quantized.tflite | /etc/labels/deeplabv3\_resnet50.json |
| Classification | /etc/models/inception\_v3\_quantized.tflite | /etc/labels/classification.json |

## Run the application on the target device

1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70022-50/topic/prerequisites-for-python-sample-applications.html).
2. Ensure that the [Model and label files](https://docs.qualcomm.com/doc/80-70022-50/topic/parallel-inference-using-python.html#parallel-inference-using-python__section_sz5_51j_pdc) are available
                    on the target device.
3. Rename the label files on the
                        EVK:

        cp /etc/labels/yolonas.json /etc/labels/yolox.jsonCopy to clipboard

Note: For Ubuntu Server, run the above command with
                            `sudo`.
4. Run the use cases:
    - Input from the
                            camera:

            gst-parallel-inference.py --cameraCopy to clipboard
    - Input from a
                            file:

            gst-parallel-inference.py --file "/etc/media/video.mp4"Copy to clipboard
    - Input from an RTSP
                            stream:

            gst-parallel-inference.py --rtsp "rtsp://<ip>:<port>/<stream>"Copy to clipboard

Note: If a drop in performance is observed, you can
                        use YOLOv8 LiteRT model. For YOLOv8 export instructions, see Step 6 in [Prerequisites](https://docs.qualcomm.com/doc/80-70022-50/topic/download-model-and-label-files.html).
5. To display the available help options, run the following
                    command:

        gst-parallel-inference.py -hCopy to clipboard

## Expected output

After performing the four parallel inferences, the results are displayed side by side
                on the screen.

Figure : Expected output for gst-ai-parallel-inference.py application
                
                ![](data:image/png;base64,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)

## Pipeline flow

The following table lists the plugins used in the parallel inference
                    pipeline:| Plugin | Description |
| --- | --- |
| Camera source:[qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50/topic/qtiqmmfsrc.html) | <ul class="ul" id="parallel-inference-using-python__ul_zyl_gj1_mcc"><br>                                    <li class="li">Captures the live stream from camera.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| File source: filesrc | <ul class="ul" id="parallel-inference-using-python__ul_z1z_x4f_w1c"><br>                                    <li class="li">Captures the video stream using filesrc, followed by<br>                                        qtdemux, which demultiplexes the stream.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| RTSP source: rtspsrc | <ul class="ul" id="parallel-inference-using-python__ul_vsj_2r4_tbc"><br>                                    <li class="li">Captures the RTSP stream using rtspsrc, followed by<br>                                        rtph264depay for video extraction.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| h264parse | Parses the H.264 video. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50/topic/v4l2h264dec.html) | Decodes the video |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimlvconverter.html) | <ol class="ol" id="parallel-inference-using-python__ol_kgt_hnq_nbc"><br>                                    <li class="li">Receives the video stream on its sink pad.</li><br><br>                                    <li class="li">Performs the following preprocessing on the stream data.<br>                                        This preprocessing is done when the model expects<br>                                        floating-point values as input.<ol class="ol" type="a" id="parallel-inference-using-python__ol_drd_jnq_nbc"><br>                                            <li class="li">Color conversion</li><br><br>                                            <li class="li">Scaling (up or down)</li><br><br>                                            <li class="li">Normalization</li><br><br>                                        </ol><br></li><br><br>                                </ol><br><br>                                <br>The tensor stream is used for inferencing in the later stages of<br>                                    the pipeline. |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimltflite.html) | <ol class="ol" id="parallel-inference-using-python__ol_l2x_zjq_nbc"><br>                                    <li class="li">After the inference runtime receives the tensor stream on<br>                                        its sink pad, it runs the inference.</li><br><br>                                    <li class="li">Produces a tensor stream with the inference results on its<br>                                        source pad.</li><br><br>                                </ol> |
| Postprocessing plugins | Handles the inference results from any object detection,<br>                                classification, pose detection, and segmentation model.<ul class="ul" id="parallel-inference-using-python__ul_pgb_wpq_nbc"><br>                                    <li class="li">qtimlpostprocess for detection use case<ol class="ol" id="parallel-inference-using-python__ol_ol3_dky_kbc"><br>                                            <li class="li">Applies a threshold to the chosen number of<br>                                                results.</li><br><br>                                            <li class="li">Loads the YOLOv8 module. </li><br><br>                                            <li class="li">Produces video frames with only bounding boxes that<br>                                                can be overlaid on objects, sending them to the sink<br>                                                pad of the qtivcomposer.</li><br><br>                                        </ol><br></li><br><br>                                    <li class="li">qtimlpostprocess for classification use case<ol class="ol" id="parallel-inference-using-python__ol_nt3_jqq_nbc"><br>                                            <li class="li">Applies the threshold to the chosen number of<br>                                                results. </li><br><br>                                            <li class="li">Loads the MobileNet-softmax module.</li><br><br>                                            <li class="li">Produces results as video frames with classification<br>                                                labels, sending them to the sink pad of the<br>                                                qtivcomposer.</li><br><br>                                        </ol><br></li><br><br>                                    <li class="li">qtimlpostprocess for pose estimation use case<ol class="ol" id="parallel-inference-using-python__ol_znf_mqq_nbc"><br>                                            <li class="li">Applies the threshold to the chosen number of<br>                                                results.</li><br><br>                                            <li class="li">Loads the corresponding modules for various pose<br>                                                estimation models. For the use cases described in<br>                                                this section, qtimlpostprocess loads the HRNet<br>                                                module. </li><br><br>                                            <li class="li">Produces results as video frames with poses drawn,<br>                                                sending them to the sink pad of the<br>                                                qtivcomposer.</li><br><br>                                        </ol><br></li><br><br>                                    <li class="li">qtimlpostprocess for segmentation use case: Converts the<br>                                        inference tensors that it receives on its sink pad into<br>                                        video formats that the multimedia plugins for further<br>                                        processing.</li><br><br>                                </ul> |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70022-50/topic/qtivcomposer.html) | <ol class="ol" id="parallel-inference-using-python__ol_dmb_2vr_lbc"><br>                                    <li class="li">Composes frames with contents from its sink pads.</li><br><br>                                    <li class="li">Pushes the GStreamer buffers containing these composed<br>                                        frames to its source pad.</li><br><br>                                </ol> |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50/topic/waylandsink.html) | <ol class="ol" id="parallel-inference-using-python__ol_kjr_fvr_lbc"><br>                                    <li class="li">Waylandsink submits the video stream received on its sink<br>                                        pad to Weston.</li><br><br>                                    <li class="li">Weston renders the video stream on a local display.</li><br><br>                                </ol> |

## Related information

[Parallel inferencing](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-ai-parallel-inference.html)

**Parent Topic:** [Run Python-based applications](https://docs.qualcomm.com/doc/80-70022-50/topic/python-sample-applications.html)

Last Published: Feb 20, 2026

[Previous Topic
Object detection, classification, and segmentation](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/object-detection-classification-and-segmentation-python-sample-app.md) [Next Topic
Daisy chain detection and pose detection using Python](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/daisy-chain-detection-and-pose-detection-using-python.md)