School / Prep
ENSEIRB-MATMECA
Internal code
EE9IT398
Description
Coordinators: Guillaume Bourmaud, ENSEIRB-MATMECA, Patrice Kadionik, ENSEIRB-MATMECA and Frédéric Druillole, CENBG
Course :
Part I: Classical AI (Guillaume Bourmaud):
- Convolution neural network course :
o Convolution layer.
o Convolution neural network.
o U-Net architecture.
- Deep network courses and specialization :
o Batch normalization layer.
o Residual connection.
o ResNet architecture. Foundation models.
o Neural network specialization (fine tuning).
Part 2: Embedded AI on FPGA circuits (Frédéric Druillole) :
- AI principles for embedded systems :
o Understanding the issues.
o Principles of model inference calculations.
o Advantages and disadvantages of ANN, CNN, RNN and autoencoders for embedded applications.
- Optimization methods :
o Understand the issues.
o Performance measurement in terms of model resources and latency.
o Optimizing models to reduce their hardware footprint.
o Optimization tools based on the "AI edge" or "spatial accelerator" platform.
- Hardware for embedded AI :
o Microprocessor and MMPA.
o GPU.
o FPGA.
o Neuromorphic processor.
- Rules and difficulties of inference :
o MLOps.
o Follow-up on inferences.
Part Three: Embedded AI on microcontrollers (Patrice Kadionik) :
- Reflections on AI. Limits of classical AI.
- Embedded system design: the 3 types of logic: hard-wired logic, programmed logic, teach-in logic.
- Embedded AI on microcontrollers: TinyML.
- Presentation and implementation of LiteRT (formerly Tensorflow Lite).
- Presentation and implementation of LiteRT for Micro (formerly Tensorflow Lite for Micro).
TP :
TP 1 Classic AI :
- CNN Pytorch: implementation of a CNN for handwritten digit recognition.
- Specialization of a ResNet network.
TP 2 Embedded AI on FPGA :
- Optimization of a simple model for an FPGA circuit (Xilinx Artyx circuit).
- Inference test on a Digilent Nexys A7 100T board.
TP 3 Embedded AI on microcontroller :
- Implementation of LiteRT for Micro on the Arduino Nano 33 BLE Sense board. Control of an analog output by an AI according to the value of an analog input on the Arduino board.
Teaching hours
- CMLectures11,33h
- TDMMachine Tutorial28h
Mandatory prerequisites
Python language, Machine Learning basics, Deep Learning basics, VHDL language, FPGA circuits, microcontroller, AMD Vivado tool, Linux, Linux Python commands, C, C++, VHDL
Assessment of knowledge
Initial assessment / Main session - Tests
Type of assessment | Type of test | Duration (in minutes) | Number of tests | Test coefficient | Eliminatory mark in the test | Remarks |
---|---|---|---|---|---|---|
Integral Continuous Control | Active Participation | 1 | ||||
Integral Continuous Control | Minutes | 1 |