Nebula Public Library

The knowledge bank of ESA’s R&D programmes

Neural Network software/hardware auto-coding from standard ONNX definition

Programme Reference
Start Date
End Date
Neural Network software/hardware auto-coding from standard ONNX definition

Convolutional Neural Networks (CNNs) are more and more being used to solve very different kind of problems on ground and are also suitable to solve Space problems, e.g. visual based tasks for rovers. Embedding a CNN into an operational on-board software (OBSW) or hardware is challenging as the CNNs are composed by hundreds of operations and they request an extensive amount of memory that need to be used efficiently.

Open Neural Network Exchange (ONNX) is an open-source artificial intelligence ecosystem of technology companies and research organizations that establish open standards for representing machine learning algorithms. Most popular machine learning development frameworks have the capability to export the definition of the neural network to ONNX.

In the frame of AUTONN-SW project a proof of concept of a potential future tool (CAELUM) to auto-code CNN defined in ONNX format and integrate this code in and OBSW or HW using HDL has been developed. CAELUM is a promising tool that will easy the introduction of Convolutional Neural Networks in operational environments where, up to now, it was not possible due to limited resources or development constraints that, for example, forbid the use of available runtimes such as onnxruntime.

Executive summary