Jump to content

GstInference/Benchmarks: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1,137: Line 1,137:
[[File:Test benchmark video.mp4|500px|thumb|center|Test benchmark video]]
[[File:Test benchmark video.mp4|500px|thumb|center|Test benchmark video]]


== TensorRT Benchmarks ==
=== FPS Measurements ===
<html>
<style>
    .button {
    background-color: #008CBA;
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
  }
</style>
<div id="Buttons_Model_Tensorrt_Fps" style="margin: auto; width: 1300px; height: auto;">
<button class="button" id="show_inceptionv1_tensorrt_fps">Show InceptionV1 </button>
<button class="button" id="show_inceptionv2_tensorrt_fps">Show InceptionV2 </button>
<button class="button" id="show_inceptionv3_tensorrt_fps">Show InceptionV3 </button>
<button class="button" id="show_inceptionv4_tensorrt_fps">Show InceptionV4 </button>
<button class="button" id="show_tinyyolov2_tensorrt_fps">Show TinyYoloV2 </button>
<button class="button" id="show_tinyyolov3_tensorrt_fps">Show TinyYoloV3 </button>
</div>
<br><br>
<div id="chart_tensorrt" style="margin: auto; width: 800px; height: 500px;"></div>
<br><br>
<div id="Buttons_Backend_TensorRT_Fps" style="margin: auto; width: 600px; height: auto;">
<button class="button" id="show_tensorrt_fps">Show TensorRT </button>
</div>
<div id="chart_tensorrt1" style="margin: auto; width: 800px; height: 500px;"></div>
<br><br>
<script>
      google.charts.load('current', {'packages':['corechart', 'bar']});
      google.charts.setOnLoadCallback(drawStuffFpsTensorRT);
     
      function drawStuffFpsTensorRT() {
        var tensorrt_chartDiv = document.getElementById('chart_tensorrt');
        var tensorrt_chartDiv1 = document.getElementById('chart_tensorrt1');
        var table_backend_platform_tensorrt_fps = google.visualization.arrayToDataTable([
          ['Platform',                  //Column 0
          'InceptionV1 \n TensorRT',    //Column 1
          'InceptionV2 \n TensorRT',    //Column 2
          'InceptionV3 \n TensorRT',    //Column 3
          'InceptionV4 \n TensorRT',    //Column 4
          'TinyYoloV2 \n TensorRT',      //Column 5
          'TinyYoloV3 \n TensorRT'],    //Column 6
          ['Nano', 30.560, 0, 9.129, 4.823, 14.602, 0],
          ['TX2', 62.511, 0, 20.240, 11.150, 33.756, 0],
          ['Xavier', 92.559, 0, 24.854, 13.560, 69.715, 0]
        ]);
        var table_model_platform_tensorrt_fps = google.visualization.arrayToDataTable([
          ['Model',                  //Column 0
          'TensorRT \n Nano',      //Column 1
          'TensorRT \n TX2',        //Column 2
          'TensorRT \n Xavier'],    //Column 3
          ['InceptionV1', 36.754, 62.511, 92.559], //row 1
          ['InceptionV2', 0, 0, 0], //row 2
          ['InceptionV3', 10.892, 20.240, 24.854], //row 3
          ['InceptionV4', 4.823, 11.150, 13.560], //row 4
          ['TinyYoloV2',  14.602, 33.756, 69.715], //row 5
          ['TinyYoloV3',  0, 0, 0]  //row 6
        ]);
        var tensorrt_materialOptions = {
          width: 320,
          chart: {
            title: 'Backend Vs Platform per model',
          },
          series: {
          },
          axes: {
            y: {
              distance: {side: 'left',label: 'FPS'}, // Left y-axis.
            }
          }
        };
        var tensorrt_materialOptions1 = {
          width: 900,
          chart: {
            title: 'Model Vs Platform per backend',
          },
          series: {
          },
          axes: {
            y: {
              distance: {side: 'left',label: 'FPS'}, // Left y-axis.
            }
          }
        };
        var materialChart_tensorrt_fps = new google.charts.Bar(tensorrt_chartDiv);
        var materialChart_tensorrt_fps1 = new google.charts.Bar(tensorrt_chartDiv1);
        view_tensorrt_fps = new google.visualization.DataView(table_backend_platform_tensorrt_fps);
        view_tensorrt_fps1 = new google.visualization.DataView(table_model_platform_tensorrt_fps);
        function drawMaterialChart() {
          var materialChart_tensorrt_fps = new google.charts.Bar(tensorrt_chartDiv);
          var materialChart_tensorrt_fps1 = new google.charts.Bar(tensorrt_chartDiv1);
          materialChart_tensorrt_fps.draw(table_backend_platform_tensorrt_fps, google.charts.Bar.convertOptions(tensorrt_materialOptions));
          materialChart_tensorrt_fps1.draw(table_model_platform_tensorrt_fps, google.charts.Bar.convertOptions(tensorrt_materialOptions1));
          init_charts();
        }
        function init_charts(){
          view_tensorrt_fps.setColumns([0,1]);
          view_tensorrt_fps.hideColumns([2, 3, 4, 5, 6]);
          materialChart_tensorrt_fps.draw(view_tensorrt_fps, tensorrt_materialOptions);
          view_tensorrt_fps1.setColumns([0,1,2,3,4]);
          materialChart_tensorrt_fps1.draw(view_tensorrt_fps1, tensorrt_materialOptions1);
        }
        // REF_MODEL
        /*Select the Model that you want to show in the chart*/
        var show_inceptionv1_tensorrt_fps = document.getElementById('show_inceptionv1_tensorrt_fps');
        show_inceptionv1_tensorrt_fps.onclick = function () {
          view_tensorrt_fps.setColumns([0,1]);
          view_tensorrt_fps.hideColumns([2, 3, 4, 5, 6]);
          materialChart_tensorrt_fps.draw(view_tensorrt_fps, tensorrt_materialOptions);
        }
        var show_inceptionv2_tensorrt_fps = document.getElementById('show_inceptionv2_tensorrt_fps');
        show_inceptionv2_tensorrt_fps.onclick = function () {
          view_tensorrt_fps.setColumns([0,2]);
          view_tensorrt_fps.hideColumns([1, 3, 4, 5, 6]);
          materialChart_tensorrt_fps.draw(view_tensorrt_fps, tensorrt_materialOptions);
        }
        var show_inceptionv3_tensorrt_fps = document.getElementById('show_inceptionv3_tensorrt_fps');
        show_inceptionv3_tensorrt_fps.onclick = function () {
          view_tensorrt_fps.setColumns([0,3]);
          view_tensorrt_fps.hideColumns([1, 2, 4, 5, 6]);
          materialChart_tensorrt_fps.draw(view_tensorrt_fps, tensorrt_materialOptions);
        }
        var show_inceptionv4_tensorrt_fps = document.getElementById('show_inceptionv4_tensorrt_fps');
        show_inceptionv4_tensorrt_fps.onclick = function () {
          view_tensorrt_fps.setColumns([0,4]);
          view_tensorrt_fps.hideColumns([1, 2, 3, 5, 6]);
          materialChart_tensorrt_fps.draw(view_tensorrt_fps, tensorrt_materialOptions);
        }
        var show_tinyyolov2_tensorrt_fps = document.getElementById('show_tinyyolov2_tensorrt_fps');
        show_tinyyolov2_tensorrt_fps.onclick = function () {
          view_tensorrt_fps.setColumns([0,5]);
          view_tensorrt_fps.hideColumns([1, 2, 3, 4, 6]);
          materialChart_tensorrt_fps.draw(view_tensorrt_fps, tensorrt_materialOptions);
        }
        var show_tinyyolov3_tensorrt_fps = document.getElementById('show_tinyyolov3_tensorrt_fps');
        show_tinyyolov3_tensorrt_fps.onclick = function () {
          view_tensorrt_fps.setColumns([0,6]);
          view_tensorrt_fps.hideColumns([1, 2, 3, 4, 5]);
          materialChart_tensorrt_fps.draw(view_tensorrt_fps, tensorrt_materialOptions);
        }
        // REF_BACKEND
        /*Select the Model that you want to show in the chart*/
        var show_tensorrt_fps = document.getElementById('show_tensorrt_fps');
        show_tensorrt_fps.onclick = function () {
          view_tensorrt_fps1.setColumns([0,1,2,3,4]);
          materialChart_tensorrt_fps1.draw(view_tensorrt_fps1, tensorrt_materialOptions1);
        }
        drawMaterialChart();
    };
</script>
</html>
=== CPU Load Measurements ===
<html>
<style>
    .button {
    background-color: #008CBA;
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
  }
</style>
<div id="Buttons_Model_Tensorrt_Cpu" style="margin: auto; width: 1300px; height: auto;">
<button class="button" id="show_inceptionv1_tensorrt_cpu">Show InceptionV1 </button>
<button class="button" id="show_inceptionv2_tensorrt_cpu">Show InceptionV2 </button>
<button class="button" id="show_inceptionv3_tensorrt_cpu">Show InceptionV3 </button>
<button class="button" id="show_inceptionv4_tensorrt_cpu">Show InceptionV4 </button>
<button class="button" id="show_tinyyolov2_tensorrt_cpu">Show TinyYoloV2 </button>
<button class="button" id="show_tinyyolov3_tensorrt_cpu">Show TinyYoloV3 </button>
</div>
<br><br>
<div id="chart_tensorrt_cpu" style="margin: auto; width: 800px; height: 500px;"></div>
<br><br>
<div id="Buttons_Backend_Tensorrt_Cpu" style="margin: auto; width: 600px; height: auto;">
<button class="button" id="show_tensorrt_cpu">Show TensorRT </button>
</div>
<div id="chart_tensorrt1_cpu" style="margin: auto; width: 800px; height: 500px;"></div>
<br><br>
<script>
      google.charts.load('current', {'packages':['corechart', 'bar']});
      google.charts.setOnLoadCallback(drawStuffCpuTensorrt);
     
      function drawStuffCpuTensorrt() {
        var tensorrt_chartDiv_cpu = document.getElementById('chart_tensorrt_cpu');
        var tensorrt_chartDiv1_cpu = document.getElementById('chart_tensorrt1_cpu');
        var table_backend_platform_tensorrt_cpu = google.visualization.arrayToDataTable([
          ['Platform',                  //Column 0
          'InceptionV1 \n TensorRT',    //Column 1
          'InceptionV2 \n TensorRT',    //Column 2
          'InceptionV3 \n TensorRT',    //Column 3
          'InceptionV4 \n TensorRT',    //Column 4
          'TinyYoloV2 \n TensorRT',      //Column 5
          'TinyYoloV3 \n TensorRT'],    //Column 6
          ['Nano', 18, 0, 18, 20, 20, 0],
          ['TX2', 21, 0, 10, 7, 19, 0],
          ['Xavier', 32, 0, 6, 3, 16, 0]
        ]);
        var table_model_platform_tensorrt_cpu = google.visualization.arrayToDataTable([
          ['Model',                  //Column 0
          'TensorRT \n Nano',      //Column 1
          'TensorRT \n TX2',        //Column 2
          'TensorRT \n Xavier'],    //Column 3
          ['InceptionV1', 18, 21, 32], //row 1
          ['InceptionV2', 0, 0, 0], //row 2
          ['InceptionV3', 18, 10, 6], //row 3
          ['InceptionV4', 20, 7, 3], //row 4
          ['TinyYoloV2',  20, 19, 16], //row 5
          ['TinyYoloV3',  0, 0, 0]  //row 6
        ]);
        var tensorrt_materialOptions_cpu = {
          width: 320,
          chart: {
            title: 'Backend Vs Platform per model',
          },
          series: {
          },
          axes: {
            y: {
              distance: {side: 'left',label: 'CPU Usage'}, // Left y-axis.
            }
          }
        };
        var tensorrt_materialOptions1_cpu = {
          width: 900,
          chart: {
            title: 'Model Vs Platform per backend',
          },
          series: {
          },
          axes: {
            y: {
              distance: {side: 'left',label: 'CPU Usage'}, // Left y-axis.
            }
          }
        };
        var materialChart_tensorrt_cpu = new google.charts.Bar(tensorrt_chartDiv_cpu);
        var materialChart_tensorrt_cpu1 = new google.charts.Bar(tensorrt_chartDiv1_cpu);
        view_tensorrt_cpu = new google.visualization.DataView(table_backend_platform_tensorrt_cpu);
        view_tensorrt_cpu1 = new google.visualization.DataView(table_model_platform_tensorrt_cpu);
        function drawMaterialChart() {
          var materialChart_tensorrt_cpu = new google.charts.Bar(tensorrt_chartDiv_cpu);
          var materialChart_tensorrt_cpu1 = new google.charts.Bar(tensorrt_chartDiv1_cpu);
          materialChart_tensorrt_cpu.draw(table_backend_platform_tensorrt_cpu, google.charts.Bar.convertOptions(tensorrt_materialOptions_cpu));
          materialChart_tensorrt_cpu1.draw(table_model_platform_tensorrt_cpu, google.charts.Bar.convertOptions(tensorrt_materialOptions1_cpu));
          init_charts();
        }
        function init_charts(){
          view_tensorrt_cpu.setColumns([0,1]);
          view_tensorrt_cpu.hideColumns([2, 3, 4, 5, 6]);
          materialChart_tensorrt_cpu.draw(view_tensorrt_cpu, tensorrt_materialOptions_cpu);
          view_tensorrt_cpu1.setColumns([0,1,2,3]);
          materialChart_tensorrt_cpu1.draw(view_tensorrt_cpu1, tensorrt_materialOptions1_cpu);
        }
        // REF_MODEL
        /*Select the Model that you want to show in the chart*/
        var show_inceptionv1_tensorrt_cpu = document.getElementById('show_inceptionv1_tensorrt_cpu');
        show_inceptionv1_tensorrt_cpu.onclick = function () {
          view_tensorrt_cpu.setColumns([0,1]);
          view_tensorrt_cpu.hideColumns([2, 3, 4, 5, 6]);
          materialChart_tensorrt_cpu.draw(view_tensorrt_cpu, tensorrt_materialOptions_cpu);
        }
        var show_inceptionv2_tensorrt_cpu = document.getElementById('show_inceptionv2_tensorrt_cpu');
        show_inceptionv2_tensorrt_cpu.onclick = function () {
          view_tensorrt_cpu.setColumns([0,2]);
          view_tensorrt_cpu.hideColumns([1, 3, 4, 5, 6]);
          materialChart_tensorrt_cpu.draw(view_tensorrt_cpu, tensorrt_materialOptions_cpu);
        }
        var show_inceptionv3_tensorrt_cpu = document.getElementById('show_inceptionv3_tensorrt_cpu');
        show_inceptionv3_tensorrt_cpu.onclick = function () {
          view_tensorrt_cpu.setColumns([0,3]);
          view_tensorrt_cpu.hideColumns([1, 2, 4, 5, 6]);
          materialChart_tensorrt_cpu.draw(view_tensorrt_cpu, tensorrt_materialOptions_cpu);
        }
        var show_inceptionv4_tensorrt_cpu = document.getElementById('show_inceptionv4_tensorrt_cpu');
        show_inceptionv4_tensorrt_cpu.onclick = function () {
          view_tensorrt_cpu.setColumns([0,4]);
          view_tensorrt_cpu.hideColumns([1, 2, 3, 5, 6]);
          materialChart_tensorrt_cpu.draw(view_tensorrt_cpu, tensorrt_materialOptions_cpu);
        }
        var show_tinyyolov2_tensorrt_cpu = document.getElementById('show_tinyyolov2_tensorrt_cpu');
        show_tinyyolov2_tensorrt_cpu.onclick = function () {
          view_tensorrt_cpu.setColumns([0,5]);
          view_tensorrt_cpu.hideColumns([1, 2, 3, 4, 6]);
          materialChart_tensorrt_cpu.draw(view_tensorrt_cpu, tensorrt_materialOptions_cpu);
        }
        var show_tinyyolov3_tensorrt_cpu = document.getElementById('show_tinyyolov3_tensorrt_cpu');
        show_tinyyolov3_tensorrt_cpu.onclick = function () {
          view_tensorrt_cpu.setColumns([0,6]);
          view_tensorrt_cpu.hideColumns([1, 2, 3, 4, 5]);
          materialChart_tensorrt_cpu.draw(view_tensorrt_cpu, tensorrt_materialOptions_cpu);
        }
        // REF_BACKEND
        /*Select the Model that you want to show in the chart*/
        var show_tensorrt_cpu = document.getElementById('show_tensorrt_cpu');
        show_tensorrt_cpu.onclick = function () {
          view_tensorrt_cpu1.setColumns([0,1,2,3]);
          materialChart_tensorrt_cpu1.draw(view_tensorrt_cpu1, tensorrt_materialOptions1);
        }
        drawMaterialChart();
    };
</script>
</html>


== Jetson AGX Xavier ==
== Jetson AGX Xavier ==
Line 1,928: Line 1,591:


== Google Coral ==
== Google Coral ==
=== FPS Measurements ===
<html>
<style>
    .button {
    background-color: #008CBA;
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
  }
</style>
<div id="chart_fps_coral" style="margin: auto; width: 800px; height: 500px;"></div>
<script>
      google.charts.load('current', {'packages':['corechart', 'bar']});
      google.charts.setOnLoadCallback(drawStuffCoralFps);
     
      function drawStuffCoralFps() {
        var chartDiv_Fps_Coral = document.getElementById('chart_fps_coral');
        var table_models_fps_coral = google.visualization.arrayToDataTable([
          ['Model',                      //Column 0
          'TensorFlow Lite \n Coral',
          'TensorFlow Lite EdgeTPU \n Coral'],        //Column 1
          ['InceptionV1', 3.11, 41.5], //row 1
          ['InceptionV2', 2.31, 42], //row 2
          ['InceptionV3', 0.9, 15.2], //row 3
          ['InceptionV4', 0, 8.41], //row 4
          ['TinyYoloV2',  0, 0], //row 5
          ['TinyYoloV3',  0, 0]  //row 6
        ]);
        var Coral_materialOptions_fps = {
          width: 900,
          chart: {
            title: 'Model Vs FPS per backend',
          },
          series: {
          },
          axes: {
            y: {
              distance: {side: 'left',label: 'FPS'}, // Left y-axis.
            }
          }
        };
        var materialChart_coral_fps = new google.charts.Bar(chartDiv_Fps_Coral);
        view_coral_fps = new google.visualization.DataView(table_models_fps_coral);
        function drawMaterialChart() {
          var materialChart_coral_fps = new google.charts.Bar(chartDiv_Fps_Coral);
          materialChart_coral_fps.draw(table_models_fps_coral, google.charts.Bar.convertOptions(Coral_materialOptions_fps));
          init_charts();
        }
        function init_charts(){
          view_coral_fps.setColumns([0,1, 2]);
          materialChart_coral_fps.draw(view_coral_fps, Coral_materialOptions_fps);
        }
        drawMaterialChart();
        }
</script>
</html>
=== CPU Measurements ===
<html>
<style>
    .button {
    background-color: #008CBA;
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
  }
</style>
<div id="chart_cpu_coral" style="margin: auto; width: 800px; height: 500px;"></div>
<script>
      google.charts.load('current', {'packages':['corechart', 'bar']});
      google.charts.setOnLoadCallback(drawStuffCoralCpu);
     
      function drawStuffCoralCpu() {
        var chartDiv_Cpu_Coral = document.getElementById('chart_cpu_coral');
        var table_models_cpu_coral = google.visualization.arrayToDataTable([
          ['Model',                      //Column 0
          'TensorFlow Lite \n Coral',
          'TensorFlow Lite EdgeTPU \n Coral'],        //Column 1
          ['InceptionV1', 73, 32], //row 1
          ['InceptionV2', 72, 32], //row 2
          ['InceptionV3', 74, 12], //row 3
          ['InceptionV4', 0, 6], //row 4
          ['TinyYoloV2',  0, 0], //row 5
          ['TinyYoloV3',  0, 0]  //row 6
        ]);
        var Coral_materialOptions_cpu = {
          width: 900,
          chart: {
            title: 'Model Vs CPU per backend',
          },
          series: {
          },
          axes: {
            y: {
              distance: {side: 'left',label: 'CPU Load'}, // Left y-axis.
            }
          }
        };
        var materialChart_coral_cpu = new google.charts.Bar(chartDiv_Cpu_Coral);
        view_coral_cpu = new google.visualization.DataView(table_models_cpu_coral);
        function drawMaterialChart() {
          var materialChart_coral_cpu = new google.charts.Bar(chartDiv_Cpu_Coral);
          materialChart_coral_cpu.draw(table_models_cpu_coral, google.charts.Bar.convertOptions(Coral_materialOptions_cpu));
          init_charts();
        }
        function init_charts(){
          view_coral_cpu.setColumns([0,1, 2]);
          materialChart_coral_cpu.draw(view_coral_cpu, Coral_materialOptions_cpu);
        }
        drawMaterialChart();
        }
</script>
</html>


<noinclude>
<noinclude>
{{GstInference/Foot|Example Applications/DispTec|Model Zoo}}
{{GstInference/Foot|Example Applications/DispTec|Model Zoo}}
</noinclude>
</noinclude>
579

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.