Changes

Jump to: navigation, search
no edit summary
{{InfoBoxTop}}
{{AppliesToSBCX}}
{{AppliesToAxel}}
{{AppliesToAxelEsatta}}
{{AppliesToAxelLite}}
{{AppliesToAxelEsattaAppliesToAXEL Lite TN}}{{AppliesToSBCX}}{{AppliesToIoT}}{{AppliesToMachineLearning}}
{{InfoBoxBottom}}
{{WarningMessage|text=This technical note was validated against specific versions of hardware and software. It may not work with other versions.}}
|-
|1.0.0
|Ocotber October 2019
|First public release
|}
==Introduction==
Nowadays, Machine Learning (ML) and Deep Learning (DL) technologies are getting popular in the embedded world as well. Several different approaches are available to deploy such technologies on embedded devices. This Technical Note (TN) describes such an approach, which makes use of a Tensor Flow model generated with [https://www.customvision.ai Microsoft Azure Custom Vision service].
==Testbed basic configuration==
The following image shows the application's architecture.
TBD [[File:SBCX-image-classifier.png|thumb|center|600px|Test application's architecture]] 
It mainly consists of the following blocks:
Red Apple 0.9693851470947266
2019-10-25 11:17:21,594 - DEBUG - Exiting ...
</pre>The image was classified as a "Red Apple" because the probability associated with this class was by far the highest (almost 97%).[[File:Red-apple.jpg|thumb|center|300px|The image shown in the previous example]]   During the execution of the test application, the status of the processes and the ARM cores was observed with the help of the <code>htop </code> tool. By default,   [[File:SBCX-image-classifier-1.png|thumb|center|600px|<code>htop</code> during the execution of the scaling governor is set to interactive:test application]] 
By default, the scaling governor is set to interactive:
<pre class="board-terminal">
root@sbcx:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
interactive
</pre>
Therefore, during the execution of the program, the cores' frequency was scaled to 1 GHz as expected.
Therefore, during the execution of the program, the cores' frequency was scaled to 1 GHz as expected.
At first glance, it seemed that the TensorFlow platform does not exploit the available cores to implement a significant parallel computing. To verify this guessing, the test was repeated by limiting the number of cores. The results are listed in the following table.
{| class="wikitable"
!Prediction time
[s]
!
|-
|SBCX (i.MX6Q)
|interactive
|3.0
|
|-
|SBCX (i.MX6Q)
|interactive
|2.6
|
|-
|SBCX (i.MX6Q)
|interactive
|2.5
|-|SBCX (i.MX6Q)|4|userspace(1 GHz)|2.5
|}
 As shown, the prediction time doesn't change significantly to with increasing of the number of cores. This should confirm TensorFlow computing engine doesn'timplement a parallel computing engine on this architecture.
8,157
edits

Navigation menu