ABSTRACT
The last decade has seen Deep Neural Networks (DNNs) become exponentially larger, more capable, more power hungry, and more ubiquitous. This has led to the need to bring machine learning to a wide variety of hardware devices that are either more performing but larger (GPUs) or require less power and are portable (embedded devices). Currently, efficiently deploying these networks on devices requires significant manual effort and a deep knowledge of different tools as well as the hardware’s characteristics.
Here we present Aidge, an open-source comprehensive framework designed for simple and fast DNN prototyping, manipulation, optimization, training, testing and deployment. The platform integrates tools for database construction, data pre-processing, network building, and hardware export to various targets.
One of the defining characteristics of Aidge is its modular architecture. More precisely, there is a “Core Module” providing the most common functionalities (e.g. network manipulation, optimization, etc.) that can be extended by so called “plugins” that allow users to add functionalities, such as new quantization algorithms or specific hardware exporters that were not foreseen or implemented during the initial design of the framework.
42Aidge is interoperable with the most common frameworks such as PyTorch and Tensorflow, and formats such as ONNX, and it targets hardware such as CPU, DSP, MCU, GPU and FPGA. It can be used with Python, C++ and through a Graphical User Interface. The open-source framework can be found at:
https://www.w3.org/1999/xlink" xlink:href="https://projects.eclipse.org/projects/technology.aidge">https://projects.eclipse.org/projects/technology.aidge
