GstInference/Benchmarks: Difference between revisions

From RidgeRun Developer Wiki
mNo edit summary
Line 11: Line 11:
</html>
</html>


= GstInference Benchmarks =
== GstInference Benchmarks ==


== Introduction ==
=== Introduction ===


This wiki summarizes a series of benchmarks on different hardware platforms based on the [https://github.com/RidgeRun/gst-inference/blob/master/tests/benchmark/run_benchmark.sh run_benchmark.sh] bash script that can be found in the official [https://github.com/RidgeRun/gst-inference GstInference repository]. The script is based on the following GStreamer pipeline:
This wiki summarizes a series of benchmarks on different hardware platforms based on the [https://github.com/RidgeRun/gst-inference/blob/master/tests/benchmark/run_benchmark.sh run_benchmark.sh] bash script that can be found in the official [https://github.com/RidgeRun/gst-inference GstInference repository]. The script is based on the following GStreamer pipeline:
Line 43: Line 43:
</source>  
</source>  


=== Test benchmark video ===
==== Test benchmark video ====
The following video was used to perform the benchmark tests.
The following video was used to perform the benchmark tests.
<br>
<br>
Line 50: Line 50:
[[File:Test benchmark video.mp4|500px|thumb|center|Test benchmark video]]
[[File:Test benchmark video.mp4|500px|thumb|center|Test benchmark video]]


== x86 ==
=== x86 ===


The Desktop PC had the following specifications:
The Desktop PC had the following specifications:
Line 58: Line 58:
*GStreamer 1.8.3
*GStreamer 1.8.3


=== FPS Measurements ===
==== FPS Measurements ====


<html>
<html>
Line 137: Line 137:
</html>
</html>


=== CPU Load Measurements ===
==== CPU Load Measurements ====


<html>
<html>
Line 216: Line 216:
</html>
</html>


== Jetson AGX Xavier ==
=== Jetson AGX Xavier ===


The Jetson Xavier power modes used were 2 and 6 (more information: [https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fpower_management_jetson_xavier.html%23wwpID0E0OM0HA Supported Modes and Power Efficiency])
The Jetson Xavier power modes used were 2 and 6 (more information: [https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fpower_management_jetson_xavier.html%23wwpID0E0OM0HA Supported Modes and Power Efficiency])
Line 233: Line 233:
Where x is the power mode ID (e.g. 0, 1, 2, 3, 4, 5, 6).
Where x is the power mode ID (e.g. 0, 1, 2, 3, 4, 5, 6).


=== FPS Measurements ===
==== FPS Measurements ====


<html>
<html>
Line 311: Line 311:
</html>
</html>


=== CPU Load Measurements ===
==== CPU Load Measurements ====


<html>
<html>
Line 389: Line 389:
</html>
</html>


== Jetson TX2 ==
=== Jetson TX2 ===


=== FPS Measurements ===
==== FPS Measurements ====


<html>
<html>
Line 464: Line 464:
</html>
</html>


=== CPU Load Measurements ===
==== CPU Load Measurements ====


<html>
<html>
Line 537: Line 537:
</html>
</html>


== Jetson Nano ==
=== Jetson Nano ===


=== FPS Measurements ===
==== FPS Measurements ====


<html>
<html>
Line 612: Line 612:
</html>
</html>


=== CPU Load Measurements ===
==== CPU Load Measurements ====


<html>
<html>
Line 685: Line 685:
</html>
</html>


== Google Coral ==
=== Google Coral ===


=== FPS Measurements ===
==== FPS Measurements ====


<html>
<html>
Line 761: Line 761:
</html>
</html>


=== CPU Load Measurements ===
==== CPU Load Measurements ====


<html>
<html>

Revision as of 19:25, 25 August 2020




Previous: Example Applications/DispTec Index Next: Model Zoo





GstInference Benchmarks

Introduction

This wiki summarizes a series of benchmarks on different hardware platforms based on the run_benchmark.sh bash script that can be found in the official GstInference repository. The script is based on the following GStreamer pipeline:


#Script to run each model
run_all_models(){

  model_array=(inceptionv1 inceptionv2 inceptionv3 inceptionv4 tinyyolov2 tinyyolov3)
  model_upper_array=(InceptionV1 InceptionV2 InceptionV3 InceptionV4 TinyYoloV2 TinyYoloV3)
  input_array=(input input input input input/Placeholder inputs )
  output_array=(InceptionV1/Logits/Predictions/Reshape_1 Softmax InceptionV3/Predictions/Reshape_1 
  InceptionV4/Logits/Predictions add_8 output_boxes )

  mkdir -p logs/
  rm -f logs/*

  for ((i=0;i<${#model_array[@]};++i)); do
    echo Perf ${model_array[i]}
    gst-launch-1.0 \
    filesrc location=$VIDEO_PATH num-buffers=600 ! decodebin ! videoconvert ! \
    perf print-arm-load=true name=inputperf ! tee name=t t. ! videoscale ! queue ! net.sink_model t. ! queue ! net.sink_bypass \
    ${model_array[i]} backend=$BACKEND name=net backend::input-layer=${input_array[i]} backend::output-layer=${output_array[i]} \
    model-location="${MODELS_PATH}${model_upper_array[i]}_${INTERNAL_PATH}/graph_${model_array[i]}${EXTENSION}" \
    net.src_bypass ! perf print-arm-load=true name=outputperf ! videoconvert ! fakesink sync=false > logs/${model_array[i]}.log
  done
}

Test benchmark video

The following video was used to perform the benchmark tests.
To download the video press right click on the video and select 'Save video as' and save this in your computer.

Test benchmark video

x86

The Desktop PC had the following specifications:

  • Intel(R) Core(TM) Core i7-7700HQ CPU @ 2.80GHz
  • 12 GB RAM
  • Linux 4.15.0-106-generic x86_64 (Ubuntu 16.04)
  • GStreamer 1.8.3

FPS Measurements

CPU Load Measurements

Jetson AGX Xavier

The Jetson Xavier power modes used were 2 and 6 (more information: Supported Modes and Power Efficiency)

  • View current power mode:
$ sudo /usr/sbin/nvpmodel -q
  • Change current power mode:
sudo /usr/sbin/nvpmodel -m x

Where x is the power mode ID (e.g. 0, 1, 2, 3, 4, 5, 6).

FPS Measurements

CPU Load Measurements

Jetson TX2

FPS Measurements

CPU Load Measurements

Jetson Nano

FPS Measurements

CPU Load Measurements

Google Coral

FPS Measurements

CPU Load Measurements


Previous: Example Applications/DispTec Index Next: Model Zoo