← Retour aux offres

Deep Neural Network for Microcontrollers A no Compiler Approach

Postée le 13 nov.

Lieu : Grenoble (Quartier Europole) · Contrat : Stage · Rémunération : 1200 euros Brut / mois Tickets Restaurant 10 EUR €

Société : MOVEA (Groupe TDK)

Founded in 2003, InvenSense Inc., a TDK Group Company, is the world’s leading provider of MEMS sensor platforms. InvenSense’s vision of Sensing Everything™ targets the consumer electronics and industrial markets with integrated Motion and Sound solutions. Our solutions combine MEMS (micro electrical mechanical systems) sensors, such as accelerometers, gyroscopes, compasses, and microphones with proprietary algorithms and firmware that intelligently process, synthesize, and calibrate the output of sensors, maximizing performance and accuracy. InvenSense’s motion tracking, audio and location platforms, and services can be found in many of the world’s largest and most iconic brands including smartphones, tablets, wearables, drones, gaming devices, internet of things, automotive products, and remote controls for smart TVs.

InvenSense is headquartered in San Jose, CA and has offices in Boston, China, Taiwan, Korea, Japan, France, Canada, Slovakia, and Italy.

Description du poste

Description of the internship:
Today, microcontrollers (MCU) equipped devices should be capable of running small Deep Neural Networks (DNN). These devices would so be capable of classification tasks while being always on and disconnected from the web, which is good for privacy, cost, and overall power consumption.
At TDK/Invensense, we run algorithms in our MCU that is sitting on board our motion Inertial Measurement Units (having a 3 axis Accelerometer and a 3 axis Gyrometer, such as our ICM-42605), in few Kbytes of RAM.
Our TensorFlow trained DNNs models are converted to C code using integers, and then compiled for the platform. Our current state of the art shows that Deep Neural Network can be made to fit our small 32 bits MCUs using max 32kByte of RAM, only with integer calculation and at 6Mhz clock Frequency.
The next step would be to define a platform independent DNN instructions description, generated by an encoder on the host, and a decoder running on the MCU, and allowing the MCU to run the DNN without the need for a compiler. It will permit to run the DNN on any CPU (from small Cortex M0+ to big CPUs) and add a lot of functionalities: optimizations, quality, metrics.

The intern will focus on this new DNN table architecture, he will also contribute to DNN optimizations and algorithms. The running platform will be first a PC, then Arduino, then even smaller boards, and tested on several use cases.
The intern will be helped in all developments steps and this internship makes the intern familiar with all essential steps of the algorithms, conception, train and deployment of DNNs, from TensorFlow in python to optimized code in C on small microcontrollers.

Tasks:
• Learn accelerometer-based sensor hardware. Arduino boards and TDK boards.
• Learn machine training methods (TensorFlow, TDK Quantizer), embedding on MCU
• Optimize DNN with conversion to C, on constrained platforms.
• Development process, git, tests, debugging.
• Demo: real-time activity classifier using an accelerometer fixed to devices.

Profil recherché

Duration:
• 6 months, at Grenoble Europole
• Niveau : Bac +5
• Dates : à definir

Required skills:
Programming and optimization in C/Python. Knowledge and interest in machine learning methods. Desire for running experiments with sensor prototypes. Pragmatic mindset, autonomy and creativity.

Voir le fichier joint

Pour postuler :

Contact:
Thank you for sending your curriculum vitae and cover letter via email to Etienne de Foras: etienne.deforas@tdk.com

Ou postuler directement sur : https://invensense.tdk.com/smartemployees/
(Job Listings + Filtrer sur Location = France, Description = Intern)