579
edits
Tag: Undo |
No edit summary |
||
Line 148: | Line 148: | ||
== TensorFlow Lite Benchmarks == | == TensorFlow Lite Benchmarks == | ||
=== FPS measurement === | === FPS measurement === | ||
<html> | |||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> | |||
<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" style="margin: auto; width: 1300px; height: auto;"> | |||
<button class="button" id="show_inceptionv1">Show InceptionV1 </button> | |||
<button class="button" id="show_inceptionv2">Show InceptionV2 </button> | |||
<button class="button" id="show_inceptionv3">Show InceptionV3 </button> | |||
<button class="button" id="show_inceptionv4">Show InceptionV4 </button> | |||
<button class="button" id="show_tinyyolov2">Show TinyYoloV2 </button> | |||
<button class="button" id="show_tinyyolov3">Show TinyYoloV3 </button> | |||
</div> | |||
<br><br> | |||
<div id="chart_div" style="margin: auto; width: 800px; height: 500px;"></div> | |||
<br><br> | |||
<div id="Buttons_Backend" style="margin: auto; width: 600px; height: auto;"> | |||
<button class="button" id="show_tensorflow">Show Tensorflow </button> | |||
<button class="button" id="show_tflite">Show Tensorflow-Lite </button> | |||
<button class="button" id="show_edgetpu">Show EdgeTPU </button> | |||
</div> | |||
<div id="chart_div1" style="margin: auto; width: 800px; height: 500px;"></div> | |||
<br><br> | |||
<div id="Buttons_Platform" style="margin: auto; width: 1050px; height: auto;"> | |||
<button class="button" id="show_x86">Show x86 </button> | |||
<button class="button" id="show_x86_gpu">Show X86+GPU </button> | |||
<button class="button" id="show_tx2">Show Tx2 </button> | |||
<button class="button" id="show_tx2_gpu">Show TX2+GPU </button> | |||
<button class="button" id="show_coral">Show Coral </button> | |||
<button class="button" id="show_coral_tpu">Show Coral+TPU </button> | |||
</div> | |||
<div id="chart_div2" style="margin: auto; width: 800px; height: 500px;"></div> | |||
<script> | |||
google.charts.load('current', {'packages':['corechart', 'bar']}); | |||
google.charts.setOnLoadCallback(drawStuff); | |||
function drawStuff() { | |||
var chartDiv = document.getElementById('chart_div'); | |||
var chartDiv1 = document.getElementById('chart_div1'); | |||
var chartDiv2 = document.getElementById('chart_div2'); | |||
var table_backend_platform_fps = google.visualization.arrayToDataTable([ | |||
['Platform', //Colunm 0 | |||
'InceptionV1 \n Tensorflow', //Colunm 1 | |||
'InceptionV1 \n Tensorflow-Lite',//Colunm 2 | |||
'InceptionV1 \n EdgeTPU', //Colunm 3 | |||
'InceptionV2 \n Tensorflow', //Colunm 4 | |||
'InceptionV2 \n Tensorflow-Lite',//Colunm 5 | |||
'InceptionV2 \n EdgeTPU', //Colunm 6 | |||
'InceptionV3 \n Tensorflow', //Colunm 7 | |||
'InceptionV3 \n Tensorflow-Lite',//Colunm 8 | |||
'InceptionV3 \n EdgeTPU', //Colunm 9 | |||
'InceptionV4 \n Tensorflow', //Colunm 10 | |||
'InceptionV4 \n Tensorflow-Lite',//Colunm 11 | |||
'InceptionV4 \n EdgeTPU', //Colunm 12 | |||
'TinyYoloV2 \n Tensorflow', //Colunm 13 | |||
'TinyYoloV2 \n Tensorflow-Lite', //Colunm 14 | |||
'TinyYoloV2 \n EdgeTPU', //Colunm 15 | |||
'TinyYoloV3 \n Tensorflow', //Colunm 16 | |||
'TinyYoloV3 \n Tensorflow-Lite', //Colunm 17 | |||
'TinyYoloV3 \n EdgeTPU'], //Colunm 18 | |||
['x86', 63.747, 22.781, 0, 48.381, 14.164, 0, 20.482, 12.164, 0, 10.338, 10.164, 0, 24.255, 12.164, 0, 27.113, 10.164, 0], | |||
['x86+GPU', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], //row 1 | |||
['TX2', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], //row 2 | |||
['TX2-GPU', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], //row 3 | |||
['Coral', 0, 3.107, 0, 0, 2.311, 0, 0, 0.903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], //row 4 | |||
['Coral+TPU', 0, 0, 41.489, 0, 0, 42.001, 0, 0, 15.232, 0, 0, 8.405, 0, 0, 0, 0, 0, 0] //row 5 | |||
]); | |||
var table_model_platform_fps = google.visualization.arrayToDataTable([ | |||
['Model', //Colunm 0 | |||
'Tensorflow \n x86', //Colunm 1 | |||
'Tensorflow \n x86+GPU', //Colunm 2 | |||
'Tensorflow \n TX2', //Colunm 3 | |||
'Tensorflow \n TX2+GPU', //Colunm 4 | |||
'Tensorflow \n Coral', //Colunm 5 | |||
'Tensorflow \n Coral+TPU', //Colunm 6 | |||
'Tensorflow-Lite \n x86', //Colunm 7 | |||
'Tensorflow-Lite \n x86+GPU', //Colunm 8 | |||
'Tensorflow-Lite \n TX2', //Colunm 9 | |||
'Tensorflow-Lite \n TX2+GPU', //Colunm 10 | |||
'Tensorflow-Lite \n Coral', //Colunm 11 | |||
'Tensorflow-Lite \n Coral+TPU', //Colunm 12 | |||
'EdgeTPU \n Coral+TPU'], //Colunm 13 | |||
['InceptionV1', 63.747, 0, 0, 0, 0, 0, 22.781, 0, 0, 0, 3.107, 0, 41.489], //row 1 | |||
['InceptionV2', 48.381, 0, 0, 0, 0, 0, 14.164, 0, 0, 0, 2.311, 0, 42.001], //row 2 | |||
['InceptionV3', 20.482, 0, 0, 0, 0, 0, 12.164, 0, 0, 0, 0.903, 0, 15.232], //row 3 | |||
['InceptionV4', 10.338, 0, 0, 0, 0, 0, 10.164, 0, 0, 0, 0, 0, 8.405], //row 4 | |||
['TinyYoloV2', 24.255, 0, 0, 0, 0, 0, 12.164, 0, 0, 0, 0, 0, 0], //row 5 | |||
['TinyYoloV3', 27.113, 0, 0, 0, 0, 0, 10.164, 0, 0, 0, 0, 0, 0] //row 6 | |||
]); | |||
var table_model_backend_fps = google.visualization.arrayToDataTable([ | |||
['Model', //Colunm 0 | |||
'Tensorflow \n x86', //Colunm 1 | |||
'Tensorflow \n x86+GPU', //Colunm 2 | |||
'Tensorflow \n TX2', //Colunm 3 | |||
'Tensorflow \n TX2+GPU', //Colunm 4 | |||
'Tensorflow \n Coral', //Colunm 5 | |||
'Tensorflow \n Coral+TPU', //Colunm 6 | |||
'Tensorflow-Lite \n x86', //Colunm 7 | |||
'Tensorflow-Lite \n x86+GPU', //Colunm 8 | |||
'Tensorflow-Lite \n TX2', //Colunm 9 | |||
'Tensorflow-Lite \n TX2+GPU', //Colunm 10 | |||
'Tensorflow-Lite \n Coral', //Colunm 11 | |||
'Tensorflow-Lite \n Coral+TPU', //Colunm 12 | |||
'EdgeTPU \n Coral+TPU'], //Colunm 13 | |||
['InceptionV1', 63.747, 0, 0, 0, 0, 0, 22.781, 0, 0, 0, 3.107, 0, 41.489], //row 1 | |||
['InceptionV2', 48.381, 0, 0, 0, 0, 0, 14.164, 0, 0, 0, 2.311, 0, 42.001], //row 2 | |||
['InceptionV3', 20.482, 0, 0, 0, 0, 0, 12.164, 0, 0, 0, 0.903, 0, 15.232], //row 3 | |||
['InceptionV4', 10.338, 0, 0, 0, 0, 0, 10.164, 0, 0, 0, 0, 0, 8.405], //row 4 | |||
['TinyYoloV2', 24.255, 0, 0, 0, 0, 0, 12.164, 0, 0, 0, 0, 0, 0], //row 5 | |||
['TinyYoloV3', 27.113, 0, 0, 0, 0, 0, 10.164, 0, 0, 0, 0, 0, 0] //row 6 | |||
]); | |||
var materialOptions = { | |||
width: 900, | |||
chart: { | |||
title: 'Model Vs Platform per backend', | |||
}, | |||
series: { | |||
}, | |||
axes: { | |||
y: { | |||
distance: {side: 'left',label: 'FPS'}, // Left y-axis. | |||
} | |||
} | |||
}; | |||
var materialOptions1 = { | |||
width: 900, | |||
chart: { | |||
title: 'Model Vs Platform per backend', | |||
}, | |||
series: { | |||
}, | |||
axes: { | |||
y: { | |||
distance: {side: 'left',label: 'FPS'}, // Left y-axis. | |||
} | |||
} | |||
}; | |||
var materialOptions2 = { | |||
width: 900, | |||
chart: { | |||
title: 'Model Vs Backend per Platform', | |||
}, | |||
series: { | |||
}, | |||
axes: { | |||
y: { | |||
distance: {side: 'left',label: 'FPS'}, // Left y-axis. | |||
} | |||
} | |||
}; | |||
var materialChart_fps = new google.charts.Bar(chartDiv); | |||
var materialChart1_fps = new google.charts.Bar(chartDiv1); | |||
var materialChart2_fps = new google.charts.Bar(chartDiv2); | |||
view_fps = new google.visualization.DataView(table_backend_platform_fps); | |||
view1_fps = new google.visualization.DataView(table_model_platform_fps); | |||
view2_fps = new google.visualization.DataView(table_model_backend_fps); | |||
function drawMaterialChart() { | |||
var materialChart_fps = new google.charts.Bar(chartDiv); | |||
var materialChart1_fps = new google.charts.Bar(chartDiv1); | |||
var materialChart2_fps = new google.charts.Bar(chartDiv2); | |||
materialChart_fps.draw(table_backend_platform_fps, google.charts.Bar.convertOptions(materialOptions)); | |||
materialChart1_fps.draw(table_model_platform_fps, google.charts.Bar.convertOptions(materialOptions1)); | |||
materialChart2_fps.draw(table_model_backend_fps, google.charts.Bar.convertOptions(materialOptions2)); | |||
init_charts(); | |||
} | |||
function init_charts(){ | |||
view_fps.setColumns([0,1,2,3]); | |||
view_fps.hideColumns([4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]); | |||
materialChart_fps.draw(view_fps, materialOptions); | |||
view1_fps.setColumns([0,1,2,3,4,5,6]); | |||
view1_fps.hideColumns([7,8,9,10,11,12]); | |||
materialChart1_fps.draw(view1_fps, materialOptions1); | |||
view2_fps.setColumns([0,1,7]); | |||
view2_fps.hideColumns([2,3,4,5,6,8,9,10,11,12]); | |||
materialChart2_fps.draw(view2_fps, materialOptions2); | |||
} | |||
// REF_MODEL | |||
/*Select the Model that you want to show in the chart*/ | |||
var show_inceptionv1 = document.getElementById('show_inceptionv1'); | |||
show_inceptionv1.onclick = function () { | |||
view_fps.setColumns([0,1,2,3]); | |||
view_fps.hideColumns([4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]); | |||
materialChart_fps.draw(view_fps, materialOptions); | |||
} | |||
var show_inceptionv2 = document.getElementById("show_inceptionv2"); | |||
show_inceptionv2.onclick = function() { | |||
view_fps.setColumns([0,4,5,6]); | |||
view_fps.hideColumns([1,2,3,7,8,9,10,11,12,13,14,15,16,17,18]); | |||
materialChart_fps.draw(view_fps, materialOptions); | |||
} | |||
var show_inceptionv3 = document.getElementById('show_inceptionv3'); | |||
show_inceptionv3.onclick = function() { | |||
view_fps.setColumns([0,7,8,9]); | |||
view_fps.hideColumns([1,2,3,4,5,6,10,11,12,13,14,15,16,17,18]); | |||
materialChart_fps.draw(view_fps, materialOptions); | |||
} | |||
var show_inceptionv4 = document.getElementById("show_inceptionv4"); | |||
show_inceptionv4.onclick = function() { | |||
view_fps.setColumns([0,10,11,12]); | |||
view_fps.hideColumns([1,2,3,4,5,6,7,8,9,13,14,15,16,17,18]); | |||
materialChart_fps.draw(view_fps, materialOptions); | |||
} | |||
var show_tinyyolov2 = document.getElementById("show_tinyyolov2"); | |||
show_tinyyolov2.onclick = function() { | |||
view_fps.setColumns([0,13,14,15]); | |||
view_fps.hideColumns([1,2,3,4,5,6,7,8,9,10,11,12,16,17,18]); | |||
materialChart_fps.draw(view_fps, materialOptions); | |||
} | |||
var show_tinyyolov3 = document.getElementById("show_tinyyolov3"); | |||
show_tinyyolov3.onclick = function() { | |||
view_fps.setColumns([0,16,17,18]); | |||
view_fps.hideColumns([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]); | |||
materialChart_fps.draw(view_fps, materialOptions); | |||
} | |||
/* REF_BACKEND */ | |||
/*Select the backend to filter the data to show in the chart*/ | |||
var button = document.getElementById('show_tensorflow'); | |||
button.onclick = function() { | |||
view1_fps.setColumns([0,1,2,3,4,5,6]); | |||
view1_fps.hideColumns([7,8,9,10,11,12,13]); | |||
materialChart1_fps.draw(view1_fps, materialOptions1); | |||
} | |||
var showFPS_only = document.getElementById("show_tflite"); | |||
showFPS_only.onclick = function() { | |||
view1_fps.setColumns([0,7,8,9,10,11,12]); | |||
view1_fps.hideColumns([1,2,3,4,5,6,13]); | |||
materialChart1_fps.draw(view1_fps, materialOptions1); | |||
} | |||
var showEdgeTPUFPS = document.getElementById("show_edgetpu"); | |||
showEdgeTPUFPS.onclick = function() { | |||
view1_fps.setColumns([0,13]); | |||
view1_fps.hideColumns([1,2,3,4,5,6,7,8,9,10,11,12]); | |||
materialChart1_fps.draw(view1_fps, materialOptions1); | |||
} | |||
/* REF_PLATFORM */ | |||
/*Select the Platform to filter the data to show in the chart*/ | |||
var show_x86 = document.getElementById('show_x86'); | |||
show_x86.onclick = function() { | |||
view2_fps.setColumns([0,1,7]); | |||
view2_fps.hideColumns([2,3,4,5,6,8,9,10,11,12]); | |||
materialChart2_fps.draw(view2_fps, materialOptions2); | |||
} | |||
var show_x86_gpu = document.getElementById("show_x86_gpu"); | |||
show_x86_gpu.onclick = function() { | |||
view2_fps.setColumns([0,2,8]); | |||
view2_fps.hideColumns([1,3,4,5,6,7,9,10,11,12]); | |||
materialChart2_fps.draw(view2_fps, materialOptions2); | |||
} | |||
var show_tx2 = document.getElementById('show_tx2'); | |||
show_tx2.onclick = function() { | |||
view2_fps.setColumns([0,3,9]); | |||
view2_fps.hideColumns([1,2,4,5,6,7,8,10,11,12]); | |||
materialChart2_fps.draw(view2_fps, materialOptions2); | |||
} | |||
var show_tx2_gpu = document.getElementById("show_tx2_gpu"); | |||
show_tx2_gpu.onclick = function() { | |||
view2_fps.setColumns([0,4,10]); | |||
view2_fps.hideColumns([1,2,3,5,6,7,8,9,11,12]); | |||
materialChart2_fps.draw(view2_fps, materialOptions2); | |||
} | |||
var show_coral = document.getElementById('show_coral'); | |||
show_coral.onclick = function() { | |||
view2_fps.setColumns([0,5,11]); | |||
view2_fps.hideColumns([1,2,3,4,6,7,8,9,10,12]); | |||
materialChart2_fps.draw(view2_fps, materialOptions2); | |||
} | |||
var show_coral_tpu = document.getElementById("show_coral_tpu"); | |||
show_coral_tpu.onclick = function() { | |||
view2_fps.setColumns([0,13]); | |||
view2_fps.hideColumns([1,2,3,4,5,7,8,9,10,11]); | |||
materialChart2_fps.draw(view2_fps, materialOptions2); | |||
} | |||
drawMaterialChart(); | |||
}; | |||
</script> | |||
</html> | |||
=== CPU usage measurement === | === CPU usage measurement === | ||
<html> | |||
<div id="Buttons_Model" style="margin: auto; width: 1300px; height: auto;"> | |||
<button class="button" id="show_inceptionv1_cpu">Show InceptionV1 </button> | |||
<button class="button" id="show_inceptionv2_cpu">Show InceptionV2 </button> | |||
<button class="button" id="show_inceptionv3_cpu">Show InceptionV3 </button> | |||
<button class="button" id="show_inceptionv4_cpu">Show InceptionV4 </button> | |||
<button class="button" id="show_tinyyolov2_cpu">Show TinyYoloV2 </button> | |||
<button class="button" id="show_tinyyolov3_cpu">Show TinyYoloV3 </button> | |||
</div> | |||
<br><br> | |||
<div id="chart_div_cpu" style="margin: auto; width: 800px; height: 500px;"></div> | |||
<br><br> | |||
<div id="Buttons_Backend" style="margin: auto; width: 600px; height: auto;"> | |||
<button class="button" id="show_tensorflow_cpu">Show Tensorflow </button> | |||
<button class="button" id="show_tflite_cpu">Show Tensorflow-Lite </button> | |||
<button class="button" id="show_edgetpu_cpu">Show EdgeTPU </button> | |||
</div> | |||
<div id="chart_div1_cpu" style="margin: auto; width: 800px; height: 500px;"></div> | |||
<br><br> | |||
<div id="Buttons_Platform" style="margin: auto; width: 1050px; height: auto;"> | |||
<button class="button" id="show_x86_cpu">Show x86 </button> | |||
<button class="button" id="show_x86_gpu_cpu">Show X86+GPU </button> | |||
<button class="button" id="show_tx2_cpu">Show Tx2 </button> | |||
<button class="button" id="show_tx2_gpu_cpu">Show TX2+GPU </button> | |||
<button class="button" id="show_coral_cpu">Show Coral </button> | |||
<button class="button" id="show_coral_tpu_cpu">Show Coral+TPU </button> | |||
</div> | |||
<div id="chart_div2_cpu" style="margin: auto; width: 800px; height: 500px;"></div> | |||
<script> | |||
google.charts.load('current', {'packages':['corechart', 'bar']}); | |||
google.charts.setOnLoadCallback(drawStuff1); | |||
function drawStuff1() { | |||
var chartDivCPU = document.getElementById('chart_div_cpu'); | |||
var chartDiv1CPU = document.getElementById('chart_div1_cpu'); | |||
var chartDiv2CPU = document.getElementById('chart_div2_cpu'); | |||
var table_backend_platform = google.visualization.arrayToDataTable([ | |||
['Platform', | |||
'InceptionV1 \n Tensorflow', | |||
'InceptionV1 \n Tensorflow-Lite', | |||
'InceptionV1 \n EdgeTPU', | |||
'InceptionV2 \n Tensorflow', | |||
'InceptionV2 \n Tensorflow-Lite', | |||
'InceptionV2 \n EdgeTPU', | |||
'InceptionV3 \n Tensorflow', | |||
'InceptionV3 \n Tensorflow-Lite', | |||
'InceptionV3 \n EdgeTPU', | |||
'InceptionV4 \n Tensorflow', | |||
'InceptionV4 \n Tensorflow-Lite', | |||
'InceptionV4 \n EdgeTPU', | |||
'TinyYoloV2 \n Tensorflow', | |||
'TinyYoloV2 \n Tensorflow-Lite', | |||
'TinyYoloV2 \n EdgeTPU', | |||
'TinyYoloV3 \n Tensorflow', | |||
'TinyYoloV3 \n Tensorflow-Lite', | |||
'TinyYoloV3 \n EdgeTPU'], | |||
['x86', 74, 46, 0, 75, 43, 0, 79, 54, 0, 84, 50, 0, 79, 45, 0, 76, 44, 0], | |||
['x86+GPU', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], | |||
['TX2', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], | |||
['TX2-GPU', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], | |||
['Coral', 0, 73, 0, 0, 72, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], | |||
['Coral+TPU', 0, 0, 32, 0, 0, 32, 0, 0, 12, 0, 0, 6, 0, 0, 0, 0, 0, 0] | |||
]); | |||
var table_model_platform = google.visualization.arrayToDataTable([ | |||
['Model', | |||
'Tensorflow \n x86', | |||
'Tensorflow \n x86+GPU', | |||
'Tensorflow \n TX2', | |||
'Tensorflow \n TX2+GPU', | |||
'Tensorflow \n Coral', | |||
'Tensorflow \n Coral+TPU', | |||
'Tensorflow-Lite \n x86', | |||
'Tensorflow-Lite \n x86+GPU', | |||
'Tensorflow-Lite \n TX2', | |||
'Tensorflow-Lite \n TX2+GPU', | |||
'Tensorflow-Lite \n Coral', | |||
'Tensorflow-Lite \n Coral+TPU', | |||
'EdgeTPU \n Coral+TPU'], | |||
['InceptionV1', 74, 0, 0, 0, 0, 0, 46, 0, 0, 0, 73, 0, 32], | |||
['InceptionV2', 75, 0, 0, 0, 0, 0, 43, 0, 0, 0, 72, 0, 32], | |||
['InceptionV3', 79, 0, 0, 0, 0, 0, 54, 0, 0, 0, 74, 0, 12], | |||
['InceptionV4', 84, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 6], | |||
['TinyYoloV2', 79, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0], | |||
['TinyYoloV3', 76, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0] | |||
]); | |||
var table_model_backend = google.visualization.arrayToDataTable([ | |||
['Model', | |||
'Tensorflow \n x86', | |||
'Tensorflow \n x86+GPU', | |||
'Tensorflow \n TX2', | |||
'Tensorflow \n TX2+GPU', | |||
'Tensorflow \n Coral', | |||
'Tensorflow \n Coral+TPU', | |||
'Tensorflow-Lite \n x86', | |||
'Tensorflow-Lite \n x86+GPU', | |||
'Tensorflow-Lite \n TX2', | |||
'Tensorflow-Lite \n TX2+GPU', | |||
'Tensorflow-Lite \n Coral', | |||
'Tensorflow-Lite \n Coral+TPU', | |||
'EdgeTPU \n Coral+TPU'], | |||
['InceptionV1', 74, 0, 0, 0, 0, 0, 46, 0, 0, 0, 73, 0, 32], | |||
['InceptionV2', 75, 0, 0, 0, 0, 0, 43, 0, 0, 0, 72, 0, 32], | |||
['InceptionV3', 79, 0, 0, 0, 0, 0, 54, 0, 0, 0, 74, 0, 12], | |||
['InceptionV4', 84, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 6], | |||
['TinyYoloV2', 79, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0], | |||
['TinyYoloV3', 76, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0] | |||
]); | |||
var materialOptions = { | |||
width: 900, | |||
chart: { | |||
title: 'Backend Vs Platform per model', | |||
}, | |||
series: { | |||
}, | |||
axes: { | |||
y: { | |||
distance: {side: 'left',label: 'CPU USAGE'}, // Left y-axis. | |||
} | |||
} | |||
}; | |||
var materialOptions1 = { | |||
width: 900, | |||
chart: { | |||
title: 'Model Vs Platform per backend', | |||
}, | |||
series: { | |||
}, | |||
axes: { | |||
y: { | |||
distance: {side: 'left',label: 'CPU USAGE'}, // Left y-axis. | |||
} | |||
} | |||
}; | |||
var materialOptions2 = { | |||
width: 900, | |||
chart: { | |||
title: 'Model Vs Backend per Platform', | |||
}, | |||
series: { | |||
}, | |||
axes: { | |||
y: { | |||
distance: {side: 'left',label: 'CPU USAGE'}, // Left y-axis. | |||
} | |||
} | |||
}; | |||
var materialChart = new google.charts.Bar(chartDivCPU); | |||
var materialChart1 = new google.charts.Bar(chartDiv1CPU); | |||
var materialChart2 = new google.charts.Bar(chartDiv2CPU); | |||
view = new google.visualization.DataView(table_backend_platform); | |||
view1 = new google.visualization.DataView(table_model_platform); | |||
view2 = new google.visualization.DataView(table_model_backend); | |||
function drawMaterialChart() { | |||
var materialChart = new google.charts.Bar(chartDivCPU); | |||
var materialChart1 = new google.charts.Bar(chartDiv1CPU); | |||
var materialChart2 = new google.charts.Bar(chartDiv2CPU); | |||
materialChart.draw(table_backend_platform, google.charts.Bar.convertOptions(materialOptions)); | |||
materialChart1.draw(table_model_platform, google.charts.Bar.convertOptions(materialOptions1)); | |||
materialChart2.draw(table_model_backend, google.charts.Bar.convertOptions(materialOptions2)); | |||
init_charts(); | |||
} | |||
function init_charts(){ | |||
view.setColumns([0,1,2,3]); | |||
view.hideColumns([4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]); | |||
materialChart.draw(view, materialOptions); | |||
view1.setColumns([0,1,2,3,4,5,6]); | |||
view1.hideColumns([7,8,9,10,11,12]); | |||
materialChart1.draw(view1, materialOptions1); | |||
view2.setColumns([0,1,7]); | |||
view2.hideColumns([2,3,4,5,6,8,9,10,11,12]); | |||
materialChart2.draw(view2, materialOptions2); | |||
} | |||
// REF_MODEL CPU | |||
/*Select the Model that you want to show in the chart*/ | |||
var show_inceptionv1_cpu = document.getElementById('show_inceptionv1_cpu'); | |||
show_inceptionv1_cpu.onclick = function () { | |||
view.setColumns([0,1,2,3]); | |||
view.hideColumns([4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]); | |||
materialChart.draw(view, materialOptions); | |||
} | |||
var show_inceptionv2_cpu = document.getElementById("show_inceptionv2_cpu"); | |||
show_inceptionv2_cpu.onclick = function() { | |||
view.setColumns([0,4,5,6]); | |||
view.hideColumns([1,2,3,7,8,9,10,11,12,13,14,15,16,17,18]); | |||
materialChart.draw(view, materialOptions); | |||
} | |||
var show_inceptionv3_cpu = document.getElementById('show_inceptionv3_cpu'); | |||
show_inceptionv3_cpu.onclick = function() { | |||
view.setColumns([0,7,8,9]); | |||
view.hideColumns([1,2,3,4,5,6,10,11,12,13,14,15,16,17,18]); | |||
materialChart.draw(view, materialOptions); | |||
} | |||
var show_inceptionv4_cpu = document.getElementById("show_inceptionv4_cpu"); | |||
show_inceptionv4_cpu.onclick = function() { | |||
view.setColumns([0,10,11,12]); | |||
view.hideColumns([1,2,3,4,5,6,7,8,9,13,14,15,16,17,18]); | |||
materialChart.draw(view, materialOptions); | |||
} | |||
var show_tinyyolov2_cpu = document.getElementById("show_tinyyolov2_cpu"); | |||
show_tinyyolov2_cpu.onclick = function() { | |||
view.setColumns([0,13,14,15]); | |||
view.hideColumns([1,2,3,4,5,6,7,8,9,10,11,12,16,17,18]); | |||
materialChart.draw(view, materialOptions); | |||
} | |||
var show_tinyyolov3_cpu = document.getElementById("show_tinyyolov3_cpu"); | |||
show_tinyyolov3_cpu.onclick = function() { | |||
view.setColumns([0,16,17,18]); | |||
view.hideColumns([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]); | |||
materialChart.draw(view, materialOptions); | |||
} | |||
/* REF_BACKEND CPU*/ | |||
/*Select the backend to filter the data to show in the chart*/ | |||
var button = document.getElementById('show_tensorflow_cpu'); | |||
button.onclick = function() { | |||
view1.setColumns([0,1,2,3,4,5,6]); | |||
view1.hideColumns([7,8,9,10,11,12,13]); | |||
materialChart1.draw(view1, materialOptions1); | |||
} | |||
var showCPU_USAGE_only = document.getElementById("show_tflite_cpu"); | |||
showCPU_USAGE_only.onclick = function() { | |||
view1.setColumns([0,7,8,9,10,11,12]); | |||
view1.hideColumns([1,2,3,4,5,6,13]); | |||
materialChart1.draw(view1, materialOptions1); | |||
} | |||
var showCPU_USAGE_EdgeTPU = document.getElementById("show_edgetpu_cpu"); | |||
showCPU_USAGE_EdgeTPU.onclick = function() { | |||
view1.setColumns([0,13]); | |||
view1.hideColumns([1,2,3,4,5,6,7,8,9,10,11,12]); | |||
materialChart1.draw(view1, materialOptions1); | |||
} | |||
/* REF_PLATFORM CPU*/ | |||
/*Select the Platform to filter the data to show in the chart*/ | |||
var show_x86_cpu = document.getElementById('show_x86_cpu'); | |||
show_x86_cpu.onclick = function() { | |||
view2.setColumns([0,1,7]); | |||
view2.hideColumns([2,3,4,5,6,8,9,10,11,12,13]); | |||
materialChart2.draw(view2, materialOptions2); | |||
} | |||
var show_x86_gpu_cpu = document.getElementById("show_x86_gpu_cpu"); | |||
show_x86_gpu_cpu.onclick = function() { | |||
view2.setColumns([0,2,8]); | |||
view2.hideColumns([1,3,4,5,6,7,9,10,11,12,13]); | |||
materialChart2.draw(view2, materialOptions2); | |||
} | |||
var show_tx2_cpu = document.getElementById('show_tx2_cpu'); | |||
show_tx2_cpu.onclick = function() { | |||
view2.setColumns([0,3,9]); | |||
view2.hideColumns([1,2,4,5,6,7,8,10,11,12,13]); | |||
materialChart2.draw(view2, materialOptions2); | |||
} | |||
var show_tx2_gpu_cpu = document.getElementById("show_tx2_gpu_cpu"); | |||
show_tx2_gpu_cpu.onclick = function() { | |||
view2.setColumns([0,4,10]); | |||
view2.hideColumns([1,2,3,5,6,7,8,9,11,12,13]); | |||
materialChart2.draw(view2, materialOptions2); | |||
} | |||
var show_coral_cpu = document.getElementById('show_coral_cpu'); | |||
show_coral_cpu.onclick = function() { | |||
view2.setColumns([0,5,11]); | |||
view2.hideColumns([1,2,3,4,6,7,8,9,10,12,13]); | |||
materialChart2.draw(view2, materialOptions2); | |||
} | |||
var show_coral_tpu_cpu = document.getElementById("show_coral_tpu_cpu"); | |||
show_coral_tpu_cpu.onclick = function() { | |||
view2.setColumns([0,6,12,13]); | |||
view2.hideColumns([1,2,3,4,5,7,8,9,10,11]); | |||
materialChart2.draw(view2, materialOptions2); | |||
} | |||
drawMaterialChart(); | |||
}; | |||
</script> | |||
</html> | |||
=== Test benchmark video === | === Test benchmark video === |
edits