Changes

Jump to: navigation, search
no edit summary
==Introduction==
Thanks to the unstoppable technology progress, nowadays Artificial Intelligence (AI) and specifically Machine Learning (ML) are spreading on low-power, resource -constrained devices as well. In a typical Industrial IoT scenario, this means that [https://en.wikipedia.org/wiki/Edge_computing#Applications edge devices can implement complex inference algorithms that were used to run on the cloud platforms only].
This Technical Note (TN for short) is the first one of a series illustrating how machine learning-based test applications are deployed and perform across different embedded platforms, which are eligible for building such intelligent edge devices.
The model was created and trained using Keras, a high-level API of TensorFlow.
The following block shows its architecture:<syntaxhighlight>
Model: "sequential"
_________________________________________________________________
Trainable params: 4,822,886
Non-trainable params: 0
</syntaxhighlight> The training was done in the cloud using a an AWS EC2 server setted set up ad hoc. The dataset was created collecting 240 images of 6 different fruits. 75% of the images were used for the training (''training dataset'') and the rest was used for test/validation purposes (''test dataset'', ''validation dataset''). Training the model with a greater number of images would have led to better accuracy, but '''it wouldn't have changed the inference time'''. Several measures were taken to counter the high overfitting tendency due to the small number of images. For instance, new images were synthesized from the existing ones to simulate a larger dataset, as shown below:
The dataset was created collecting 240 images of 6 different fruits. 3/4 of the images were used for the training and the rest was used for test/validation purpose. Training the model with a greater number of images would have led to a better accuracy but it wouldn't have changed the inference time.
Several measures were taken to counter the high overfitting tendency due to the small amount of images. For instance, new images were synthesized from the existing ones to simulate a larger dataset, as shown below:
[[File:Drawio200% augmentation.png|none|thumb|400x400px|New images synthesized from an existing one. Original image by tookapic from Pixabay.com]]
 
The following plots show the training history:
4,650
edits

Navigation menu