In designing accurate and high-performance artificial neural networks (ANN) topologies for embedded systems, several weeks of engineering work are required to properly condition the input data, implement architectures optimized both in term of memory and operations using any of the off-the-shelf deep learning frameworks and then test the models in proper-scale data driven experiments. Moreover, code implementing the layers needs to be mapped and validated on the target systems, requiring additional months of hard and hand-made engineering work. To shorten this inefficient and un-productive development procedure, an efficient and automated C library generation workflow has been created. This work presents the phases involved in the automated mapping of a Single Shot Object Detector (SSD) model on an embedded library, where low power consumption is the focus and memory usage needs to be properly handled and minimized when possible. The implementation aspects, dealing with the mapping of high-level functions and dynamic data structures into low-level logical equivalents in ANSI C are presented; in addition, a brief explanation of the validation process as well as a short summary on the link between memory usage and the implementations details of the detector are also provided.

Automated Generation of a Single Shot Detector C Library from High Level Deep Learning Frameworks

Di Stefano, Luigi;
2018

Abstract

In designing accurate and high-performance artificial neural networks (ANN) topologies for embedded systems, several weeks of engineering work are required to properly condition the input data, implement architectures optimized both in term of memory and operations using any of the off-the-shelf deep learning frameworks and then test the models in proper-scale data driven experiments. Moreover, code implementing the layers needs to be mapped and validated on the target systems, requiring additional months of hard and hand-made engineering work. To shorten this inefficient and un-productive development procedure, an efficient and automated C library generation workflow has been created. This work presents the phases involved in the automated mapping of a Single Shot Object Detector (SSD) model on an embedded library, where low power consumption is the focus and memory usage needs to be properly handled and minimized when possible. The implementation aspects, dealing with the mapping of high-level functions and dynamic data structures into low-level logical equivalents in ANSI C are presented; in addition, a brief explanation of the validation process as well as a short summary on the link between memory usage and the implementations details of the detector are also provided.
IEEE 4th International Forum on Research and Technologies for Society and Industry, RTSI 2018 - Proceedings
1
4
Ranalli, Luca; Di Stefano, Luigi; Plebani, Emanuele; Falchetto, Mirko; Pau, Danilo; D'Alto, Viviana
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/678425
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact