SlideShare a Scribd company logo

Presentation - webinar embedded machine learning

Sirris
Sirris
SirrisSirris

Presentation - webinar embedded machine learning

Presentation - webinar embedded machine learning

1 of 94
Download to read offline
Presentation - webinar embedded machine learning
2 31/01/2024
©SIRRIS • CONFIDENTIAL •
Table of Contents
➢ Introduction:Why embedded machine learning?
➢ Three main ingredients
➢ Training our model
➢ How to run inference on a Raspberry Pi PICO?
➢ Conclusion
Why Embedded
Machine Learning ?
4 31/01/2024
©SIRRIS • CONFIDENTIAL •
Why Machine Learning?
➢ Very good at finding patterns
➢ Less human input needed
➢ Broadly applicable
➢ More processing power
➢ Lots and lots of data
➢ Explicability?
Can be a great tool!
Not the only tool!
ie., let’s avoid doing it for the fancy factor when
traditional computer vision techniques are more
suitable!
Need Machine learning
?
Machine learning ???
5 31/01/2024
©SIRRIS • CONFIDENTIAL •
Today
➢ Machine learning, and in particular deep learning with convolutional networks, is a
good tool to do classification on images
➢ Let’s try to look into such a classification task… Embedded!
6 31/01/2024
©SIRRIS • CONFIDENTIAL •
Why Machine Learning on EDGE
Low Cost
Data stays local Less space usage
Independent of Internet
Connection
Low Energy Consumption
Low Latency
✓ Autonomous
✓ Reliable
✓ No bandwidth limitations
✓ Data privacy
✓ Security
✓ Control ✓ Mobile application
✓ No Cloud Computations
✓ Vehicles, …
✓ Viability of business case
Why?

Recommended

FPGA Conference 2021: Breaking the TOPS ceiling with sparse neural networks -...
FPGA Conference 2021: Breaking the TOPS ceiling with sparse neural networks -...FPGA Conference 2021: Breaking the TOPS ceiling with sparse neural networks -...
FPGA Conference 2021: Breaking the TOPS ceiling with sparse neural networks -...Numenta
 
MIT's experience on OpenPOWER/POWER 9 platform
MIT's experience on OpenPOWER/POWER 9 platformMIT's experience on OpenPOWER/POWER 9 platform
MIT's experience on OpenPOWER/POWER 9 platformGanesan Narayanasamy
 
AWS re:Invent 2016: Deep Learning at Cloud Scale: Improving Video Discoverabi...
AWS re:Invent 2016: Deep Learning at Cloud Scale: Improving Video Discoverabi...AWS re:Invent 2016: Deep Learning at Cloud Scale: Improving Video Discoverabi...
AWS re:Invent 2016: Deep Learning at Cloud Scale: Improving Video Discoverabi...Amazon Web Services
 
"Enabling Ubiquitous Visual Intelligence Through Deep Learning," a Keynote Pr...
"Enabling Ubiquitous Visual Intelligence Through Deep Learning," a Keynote Pr..."Enabling Ubiquitous Visual Intelligence Through Deep Learning," a Keynote Pr...
"Enabling Ubiquitous Visual Intelligence Through Deep Learning," a Keynote Pr...Edge AI and Vision Alliance
 
LesFurets.com: From 0 to Cassandra on AWS in 30 days - Tsunami Alerting Syste...
LesFurets.com: From 0 to Cassandra on AWS in 30 days - Tsunami Alerting Syste...LesFurets.com: From 0 to Cassandra on AWS in 30 days - Tsunami Alerting Syste...
LesFurets.com: From 0 to Cassandra on AWS in 30 days - Tsunami Alerting Syste...DataStax Academy
 
Distributed DNN training: Infrastructure, challenges, and lessons learned
Distributed DNN training: Infrastructure, challenges, and lessons learnedDistributed DNN training: Infrastructure, challenges, and lessons learned
Distributed DNN training: Infrastructure, challenges, and lessons learnedWee Hyong Tok
 
Shaping the Future of Travel with MongoDB
Shaping the Future of Travel with MongoDBShaping the Future of Travel with MongoDB
Shaping the Future of Travel with MongoDBMongoDB
 

More Related Content

Similar to Presentation - webinar embedded machine learning

AWS Sydney Summit 2013 - Big Data Analytics
AWS Sydney Summit 2013 - Big Data AnalyticsAWS Sydney Summit 2013 - Big Data Analytics
AWS Sydney Summit 2013 - Big Data AnalyticsAmazon Web Services
 
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemHai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemAI Frontiers
 
Accelerating algorithmic and hardware advancements for power efficient on-dev...
Accelerating algorithmic and hardware advancements for power efficient on-dev...Accelerating algorithmic and hardware advancements for power efficient on-dev...
Accelerating algorithmic and hardware advancements for power efficient on-dev...Qualcomm Research
 
Hyper-Convergence: Worth the Hype?
Hyper-Convergence: Worth the Hype?Hyper-Convergence: Worth the Hype?
Hyper-Convergence: Worth the Hype?Brian Anderson
 
Deep Learning Frameworks Using Spark on YARN by Vartika Singh
Deep Learning Frameworks Using Spark on YARN by Vartika SinghDeep Learning Frameworks Using Spark on YARN by Vartika Singh
Deep Learning Frameworks Using Spark on YARN by Vartika SinghData Con LA
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...Databricks
 
Nervana and the Future of Computing
Nervana and the Future of ComputingNervana and the Future of Computing
Nervana and the Future of ComputingIntel Nervana
 
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super AffordableSupermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super AffordableRebekah Rodriguez
 
Aberdeen Oil & Gas Event - AWS Partner Eurotech
Aberdeen Oil & Gas Event - AWS Partner EurotechAberdeen Oil & Gas Event - AWS Partner Eurotech
Aberdeen Oil & Gas Event - AWS Partner EurotechAmazon Web Services
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
 
WekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound AgainWekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound Againinside-BigData.com
 
Efficient video perception through AI
Efficient video perception through AIEfficient video perception through AI
Efficient video perception through AIQualcomm Research
 
HiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentationHiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentationVEDLIoT Project
 
Part 1: Cloudera’s Analytic Database: BI & SQL Analytics in a Hybrid Cloud World
Part 1: Cloudera’s Analytic Database: BI & SQL Analytics in a Hybrid Cloud WorldPart 1: Cloudera’s Analytic Database: BI & SQL Analytics in a Hybrid Cloud World
Part 1: Cloudera’s Analytic Database: BI & SQL Analytics in a Hybrid Cloud WorldCloudera, Inc.
 
“High-fidelity Conversion of Floating-point Networks for Low-precision Infere...
“High-fidelity Conversion of Floating-point Networks for Low-precision Infere...“High-fidelity Conversion of Floating-point Networks for Low-precision Infere...
“High-fidelity Conversion of Floating-point Networks for Low-precision Infere...Edge AI and Vision Alliance
 
Graph Hardware Architecture - Enterprise graphs deserve great hardware!
Graph Hardware Architecture - Enterprise graphs deserve great hardware!Graph Hardware Architecture - Enterprise graphs deserve great hardware!
Graph Hardware Architecture - Enterprise graphs deserve great hardware!TigerGraph
 
HPC Advisory Council Stanford Conference 2016
HPC Advisory Council Stanford Conference 2016HPC Advisory Council Stanford Conference 2016
HPC Advisory Council Stanford Conference 2016Baidu USA Research
 
Kevin Shaw at AI Frontiers: AI on the Edge: Bringing Intelligence to Small De...
Kevin Shaw at AI Frontiers: AI on the Edge: Bringing Intelligence to Small De...Kevin Shaw at AI Frontiers: AI on the Edge: Bringing Intelligence to Small De...
Kevin Shaw at AI Frontiers: AI on the Edge: Bringing Intelligence to Small De...AI Frontiers
 

Similar to Presentation - webinar embedded machine learning (20)

AWS Sydney Summit 2013 - Big Data Analytics
AWS Sydney Summit 2013 - Big Data AnalyticsAWS Sydney Summit 2013 - Big Data Analytics
AWS Sydney Summit 2013 - Big Data Analytics
 
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemHai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
 
Accelerating algorithmic and hardware advancements for power efficient on-dev...
Accelerating algorithmic and hardware advancements for power efficient on-dev...Accelerating algorithmic and hardware advancements for power efficient on-dev...
Accelerating algorithmic and hardware advancements for power efficient on-dev...
 
Hyper-Convergence: Worth the Hype?
Hyper-Convergence: Worth the Hype?Hyper-Convergence: Worth the Hype?
Hyper-Convergence: Worth the Hype?
 
Deep Learning Frameworks Using Spark on YARN by Vartika Singh
Deep Learning Frameworks Using Spark on YARN by Vartika SinghDeep Learning Frameworks Using Spark on YARN by Vartika Singh
Deep Learning Frameworks Using Spark on YARN by Vartika Singh
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark with Ma...
 
Nervana and the Future of Computing
Nervana and the Future of ComputingNervana and the Future of Computing
Nervana and the Future of Computing
 
Thoughts on Cybersecurity
Thoughts on CybersecurityThoughts on Cybersecurity
Thoughts on Cybersecurity
 
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super AffordableSupermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
 
Aberdeen Oil & Gas Event - AWS Partner Eurotech
Aberdeen Oil & Gas Event - AWS Partner EurotechAberdeen Oil & Gas Event - AWS Partner Eurotech
Aberdeen Oil & Gas Event - AWS Partner Eurotech
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
WekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound AgainWekaIO: Making Machine Learning Compute Bound Again
WekaIO: Making Machine Learning Compute Bound Again
 
Efficient video perception through AI
Efficient video perception through AIEfficient video perception through AI
Efficient video perception through AI
 
HiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentationHiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentation
 
Part 1: Cloudera’s Analytic Database: BI & SQL Analytics in a Hybrid Cloud World
Part 1: Cloudera’s Analytic Database: BI & SQL Analytics in a Hybrid Cloud WorldPart 1: Cloudera’s Analytic Database: BI & SQL Analytics in a Hybrid Cloud World
Part 1: Cloudera’s Analytic Database: BI & SQL Analytics in a Hybrid Cloud World
 
“High-fidelity Conversion of Floating-point Networks for Low-precision Infere...
“High-fidelity Conversion of Floating-point Networks for Low-precision Infere...“High-fidelity Conversion of Floating-point Networks for Low-precision Infere...
“High-fidelity Conversion of Floating-point Networks for Low-precision Infere...
 
Graph Hardware Architecture - Enterprise graphs deserve great hardware!
Graph Hardware Architecture - Enterprise graphs deserve great hardware!Graph Hardware Architecture - Enterprise graphs deserve great hardware!
Graph Hardware Architecture - Enterprise graphs deserve great hardware!
 
HPC Advisory Council Stanford Conference 2016
HPC Advisory Council Stanford Conference 2016HPC Advisory Council Stanford Conference 2016
HPC Advisory Council Stanford Conference 2016
 
Webinář InfiniBox
Webinář InfiniBoxWebinář InfiniBox
Webinář InfiniBox
 
Kevin Shaw at AI Frontiers: AI on the Edge: Bringing Intelligence to Small De...
Kevin Shaw at AI Frontiers: AI on the Edge: Bringing Intelligence to Small De...Kevin Shaw at AI Frontiers: AI on the Edge: Bringing Intelligence to Small De...
Kevin Shaw at AI Frontiers: AI on the Edge: Bringing Intelligence to Small De...
 

More from Sirris

2 - Pattyn - Smart Products Webinar 03-02-2023.
2 - Pattyn - Smart Products Webinar 03-02-2023.2 - Pattyn - Smart Products Webinar 03-02-2023.
2 - Pattyn - Smart Products Webinar 03-02-2023.Sirris
 
2021 01-27 - webinar - Corrosie van 3D geprinte onderdelen
2021 01-27 - webinar - Corrosie van 3D geprinte onderdelen2021 01-27 - webinar - Corrosie van 3D geprinte onderdelen
2021 01-27 - webinar - Corrosie van 3D geprinte onderdelenSirris
 
2021/0/15 - Solarwinds supply chain attack: why we should take it sereously
2021/0/15 - Solarwinds supply chain attack: why we should take it sereously2021/0/15 - Solarwinds supply chain attack: why we should take it sereously
2021/0/15 - Solarwinds supply chain attack: why we should take it sereouslySirris
 
20200923 inside metal am webinar_laborelec
20200923 inside metal am webinar_laborelec20200923 inside metal am webinar_laborelec
20200923 inside metal am webinar_laborelecSirris
 
20200923 inside metal am webinar sirris-crm
20200923 inside metal am webinar sirris-crm20200923 inside metal am webinar sirris-crm
20200923 inside metal am webinar sirris-crmSirris
 
Challenges and solutions for improved durability of materials - Opin summary ...
Challenges and solutions for improved durability of materials - Opin summary ...Challenges and solutions for improved durability of materials - Opin summary ...
Challenges and solutions for improved durability of materials - Opin summary ...Sirris
 
Challenges and solutions for improved durability of materials - Hybrid joints...
Challenges and solutions for improved durability of materials - Hybrid joints...Challenges and solutions for improved durability of materials - Hybrid joints...
Challenges and solutions for improved durability of materials - Hybrid joints...Sirris
 
Challenges and solutions for improved durability of materials - Corrosion mon...
Challenges and solutions for improved durability of materials - Corrosion mon...Challenges and solutions for improved durability of materials - Corrosion mon...
Challenges and solutions for improved durability of materials - Corrosion mon...Sirris
 
Challenges and solutions for improved durability of materials - Concrete in m...
Challenges and solutions for improved durability of materials - Concrete in m...Challenges and solutions for improved durability of materials - Concrete in m...
Challenges and solutions for improved durability of materials - Concrete in m...Sirris
 
Challenges and solutions for improved durability of materials - Coatings done...
Challenges and solutions for improved durability of materials - Coatings done...Challenges and solutions for improved durability of materials - Coatings done...
Challenges and solutions for improved durability of materials - Coatings done...Sirris
 
Futureproof by sirris- product of the future
Futureproof by sirris- product of the futureFutureproof by sirris- product of the future
Futureproof by sirris- product of the futureSirris
 
2018 11-07-verbinden-ongelijksoortige-materialen-hupico multimaterial welding
2018 11-07-verbinden-ongelijksoortige-materialen-hupico multimaterial welding2018 11-07-verbinden-ongelijksoortige-materialen-hupico multimaterial welding
2018 11-07-verbinden-ongelijksoortige-materialen-hupico multimaterial weldingSirris
 
2018 11-07-verbinden-ongelijksoortige-materialen-bil ongelijksoortige materia...
2018 11-07-verbinden-ongelijksoortige-materialen-bil ongelijksoortige materia...2018 11-07-verbinden-ongelijksoortige-materialen-bil ongelijksoortige materia...
2018 11-07-verbinden-ongelijksoortige-materialen-bil ongelijksoortige materia...Sirris
 
2018 11-07-verbinden-ongelijksoortige-materialen-sirris bil-flanders_make_mmj
2018 11-07-verbinden-ongelijksoortige-materialen-sirris bil-flanders_make_mmj2018 11-07-verbinden-ongelijksoortige-materialen-sirris bil-flanders_make_mmj
2018 11-07-verbinden-ongelijksoortige-materialen-sirris bil-flanders_make_mmjSirris
 
2018 11-07-verbinden-ongelijksoortige-materialen-ku leuven-lijmen
2018 11-07-verbinden-ongelijksoortige-materialen-ku leuven-lijmen2018 11-07-verbinden-ongelijksoortige-materialen-ku leuven-lijmen
2018 11-07-verbinden-ongelijksoortige-materialen-ku leuven-lijmenSirris
 
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Lcv lasercladding for...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Lcv lasercladding for...Slotevent ‘Verbinden van ongelijksoortige materialen’ - Lcv lasercladding for...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Lcv lasercladding for...Sirris
 
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Juno industries mecha...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Juno industries mecha...Slotevent ‘Verbinden van ongelijksoortige materialen’ - Juno industries mecha...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Juno industries mecha...Sirris
 
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Castolin verbinden v...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Castolin  verbinden v...Slotevent ‘Verbinden van ongelijksoortige materialen’ - Castolin  verbinden v...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Castolin verbinden v...Sirris
 
Masterclass Mechatronics 4.0 - Indoor and outdoor localisation and positionin...
Masterclass Mechatronics 4.0 - Indoor and outdoor localisation and positionin...Masterclass Mechatronics 4.0 - Indoor and outdoor localisation and positionin...
Masterclass Mechatronics 4.0 - Indoor and outdoor localisation and positionin...Sirris
 
Invisible but functional - protective coatings
Invisible but functional - protective coatingsInvisible but functional - protective coatings
Invisible but functional - protective coatingsSirris
 

More from Sirris (20)

2 - Pattyn - Smart Products Webinar 03-02-2023.
2 - Pattyn - Smart Products Webinar 03-02-2023.2 - Pattyn - Smart Products Webinar 03-02-2023.
2 - Pattyn - Smart Products Webinar 03-02-2023.
 
2021 01-27 - webinar - Corrosie van 3D geprinte onderdelen
2021 01-27 - webinar - Corrosie van 3D geprinte onderdelen2021 01-27 - webinar - Corrosie van 3D geprinte onderdelen
2021 01-27 - webinar - Corrosie van 3D geprinte onderdelen
 
2021/0/15 - Solarwinds supply chain attack: why we should take it sereously
2021/0/15 - Solarwinds supply chain attack: why we should take it sereously2021/0/15 - Solarwinds supply chain attack: why we should take it sereously
2021/0/15 - Solarwinds supply chain attack: why we should take it sereously
 
20200923 inside metal am webinar_laborelec
20200923 inside metal am webinar_laborelec20200923 inside metal am webinar_laborelec
20200923 inside metal am webinar_laborelec
 
20200923 inside metal am webinar sirris-crm
20200923 inside metal am webinar sirris-crm20200923 inside metal am webinar sirris-crm
20200923 inside metal am webinar sirris-crm
 
Challenges and solutions for improved durability of materials - Opin summary ...
Challenges and solutions for improved durability of materials - Opin summary ...Challenges and solutions for improved durability of materials - Opin summary ...
Challenges and solutions for improved durability of materials - Opin summary ...
 
Challenges and solutions for improved durability of materials - Hybrid joints...
Challenges and solutions for improved durability of materials - Hybrid joints...Challenges and solutions for improved durability of materials - Hybrid joints...
Challenges and solutions for improved durability of materials - Hybrid joints...
 
Challenges and solutions for improved durability of materials - Corrosion mon...
Challenges and solutions for improved durability of materials - Corrosion mon...Challenges and solutions for improved durability of materials - Corrosion mon...
Challenges and solutions for improved durability of materials - Corrosion mon...
 
Challenges and solutions for improved durability of materials - Concrete in m...
Challenges and solutions for improved durability of materials - Concrete in m...Challenges and solutions for improved durability of materials - Concrete in m...
Challenges and solutions for improved durability of materials - Concrete in m...
 
Challenges and solutions for improved durability of materials - Coatings done...
Challenges and solutions for improved durability of materials - Coatings done...Challenges and solutions for improved durability of materials - Coatings done...
Challenges and solutions for improved durability of materials - Coatings done...
 
Futureproof by sirris- product of the future
Futureproof by sirris- product of the futureFutureproof by sirris- product of the future
Futureproof by sirris- product of the future
 
2018 11-07-verbinden-ongelijksoortige-materialen-hupico multimaterial welding
2018 11-07-verbinden-ongelijksoortige-materialen-hupico multimaterial welding2018 11-07-verbinden-ongelijksoortige-materialen-hupico multimaterial welding
2018 11-07-verbinden-ongelijksoortige-materialen-hupico multimaterial welding
 
2018 11-07-verbinden-ongelijksoortige-materialen-bil ongelijksoortige materia...
2018 11-07-verbinden-ongelijksoortige-materialen-bil ongelijksoortige materia...2018 11-07-verbinden-ongelijksoortige-materialen-bil ongelijksoortige materia...
2018 11-07-verbinden-ongelijksoortige-materialen-bil ongelijksoortige materia...
 
2018 11-07-verbinden-ongelijksoortige-materialen-sirris bil-flanders_make_mmj
2018 11-07-verbinden-ongelijksoortige-materialen-sirris bil-flanders_make_mmj2018 11-07-verbinden-ongelijksoortige-materialen-sirris bil-flanders_make_mmj
2018 11-07-verbinden-ongelijksoortige-materialen-sirris bil-flanders_make_mmj
 
2018 11-07-verbinden-ongelijksoortige-materialen-ku leuven-lijmen
2018 11-07-verbinden-ongelijksoortige-materialen-ku leuven-lijmen2018 11-07-verbinden-ongelijksoortige-materialen-ku leuven-lijmen
2018 11-07-verbinden-ongelijksoortige-materialen-ku leuven-lijmen
 
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Lcv lasercladding for...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Lcv lasercladding for...Slotevent ‘Verbinden van ongelijksoortige materialen’ - Lcv lasercladding for...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Lcv lasercladding for...
 
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Juno industries mecha...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Juno industries mecha...Slotevent ‘Verbinden van ongelijksoortige materialen’ - Juno industries mecha...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Juno industries mecha...
 
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Castolin verbinden v...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Castolin  verbinden v...Slotevent ‘Verbinden van ongelijksoortige materialen’ - Castolin  verbinden v...
Slotevent ‘Verbinden van ongelijksoortige materialen’ - Castolin verbinden v...
 
Masterclass Mechatronics 4.0 - Indoor and outdoor localisation and positionin...
Masterclass Mechatronics 4.0 - Indoor and outdoor localisation and positionin...Masterclass Mechatronics 4.0 - Indoor and outdoor localisation and positionin...
Masterclass Mechatronics 4.0 - Indoor and outdoor localisation and positionin...
 
Invisible but functional - protective coatings
Invisible but functional - protective coatingsInvisible but functional - protective coatings
Invisible but functional - protective coatings
 

Recently uploaded

How we think about an advisor tech stack
How we think about an advisor tech stackHow we think about an advisor tech stack
How we think about an advisor tech stackSummit
 
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17Ana-Maria Mihalceanu
 
Introduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVAIntroduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVARobert McDermott
 
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre..."Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...shaiyuvasv
 
AI MODELS USAGE IN FINTECH PRODUCTS: PM APPROACH & BEST PRACTICES by Kasthuri...
AI MODELS USAGE IN FINTECH PRODUCTS: PM APPROACH & BEST PRACTICES by Kasthuri...AI MODELS USAGE IN FINTECH PRODUCTS: PM APPROACH & BEST PRACTICES by Kasthuri...
AI MODELS USAGE IN FINTECH PRODUCTS: PM APPROACH & BEST PRACTICES by Kasthuri...ISPMAIndia
 
Introduction to Serverless with AWS Lambda in C#.pptx
Introduction to Serverless with AWS Lambda in C#.pptxIntroduction to Serverless with AWS Lambda in C#.pptx
Introduction to Serverless with AWS Lambda in C#.pptxBrandon Minnick, MBA
 
Evolution of Chatbots: From Custom AI Chatbots and AI Chatbots for Websites.pptx
Evolution of Chatbots: From Custom AI Chatbots and AI Chatbots for Websites.pptxEvolution of Chatbots: From Custom AI Chatbots and AI Chatbots for Websites.pptx
Evolution of Chatbots: From Custom AI Chatbots and AI Chatbots for Websites.pptxKyle Willson
 
Tete thermostatique Zigbee MOES BRT-100 V2.pdf
Tete thermostatique Zigbee MOES BRT-100 V2.pdfTete thermostatique Zigbee MOES BRT-100 V2.pdf
Tete thermostatique Zigbee MOES BRT-100 V2.pdfDomotica daVinci
 
Bit N Build Poland
Bit N Build PolandBit N Build Poland
Bit N Build PolandGDSC PJATK
 
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdfZ-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdfDomotica daVinci
 
My self introduction to know others abut me
My self  introduction to know others abut meMy self  introduction to know others abut me
My self introduction to know others abut meManoj Prabakar B
 
zigbee motion sensor user manual NAS-PD07B2.pdf
zigbee motion sensor user manual NAS-PD07B2.pdfzigbee motion sensor user manual NAS-PD07B2.pdf
zigbee motion sensor user manual NAS-PD07B2.pdfDomotica daVinci
 
Q1 Memory Fabric Forum: Building Fast and Secure Chips with CXL IP
Q1 Memory Fabric Forum: Building Fast and Secure Chips with CXL IPQ1 Memory Fabric Forum: Building Fast and Secure Chips with CXL IP
Q1 Memory Fabric Forum: Building Fast and Secure Chips with CXL IPMemory Fabric Forum
 
Manual sensor Zigbee 3.0 MOES ZSS-X-PIRL-C
Manual  sensor Zigbee 3.0 MOES ZSS-X-PIRL-CManual  sensor Zigbee 3.0 MOES ZSS-X-PIRL-C
Manual sensor Zigbee 3.0 MOES ZSS-X-PIRL-CDomotica daVinci
 
Heltun_HE-RS01_User_Manual_B9AH.pdf
Heltun_HE-RS01_User_Manual_B9AH.pdfHeltun_HE-RS01_User_Manual_B9AH.pdf
Heltun_HE-RS01_User_Manual_B9AH.pdfMarielaL5
 
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes", Volodymyr TsapFwdays
 
Zi-Stick UBS Dongle ZIgbee from Aeotec manual
Zi-Stick UBS Dongle ZIgbee from  Aeotec manualZi-Stick UBS Dongle ZIgbee from  Aeotec manual
Zi-Stick UBS Dongle ZIgbee from Aeotec manualDomotica daVinci
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologySafe Software
 
OTel Orientation_ How to Train Teams (OTel in Practice).pdf
OTel Orientation_ How to Train Teams (OTel in Practice).pdfOTel Orientation_ How to Train Teams (OTel in Practice).pdf
OTel Orientation_ How to Train Teams (OTel in Practice).pdfPaige Cruz
 

Recently uploaded (20)

How we think about an advisor tech stack
How we think about an advisor tech stackHow we think about an advisor tech stack
How we think about an advisor tech stack
 
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17Enhancing Productivity and Insight  A Tour of JDK Tools Progress Beyond Java 17
Enhancing Productivity and Insight A Tour of JDK Tools Progress Beyond Java 17
 
Introduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVAIntroduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVA
 
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre..."Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
"Journey of Aspiration: Unveiling the Path to Becoming a Technocrat and Entre...
 
AI MODELS USAGE IN FINTECH PRODUCTS: PM APPROACH & BEST PRACTICES by Kasthuri...
AI MODELS USAGE IN FINTECH PRODUCTS: PM APPROACH & BEST PRACTICES by Kasthuri...AI MODELS USAGE IN FINTECH PRODUCTS: PM APPROACH & BEST PRACTICES by Kasthuri...
AI MODELS USAGE IN FINTECH PRODUCTS: PM APPROACH & BEST PRACTICES by Kasthuri...
 
Introduction to Serverless with AWS Lambda in C#.pptx
Introduction to Serverless with AWS Lambda in C#.pptxIntroduction to Serverless with AWS Lambda in C#.pptx
Introduction to Serverless with AWS Lambda in C#.pptx
 
Evolution of Chatbots: From Custom AI Chatbots and AI Chatbots for Websites.pptx
Evolution of Chatbots: From Custom AI Chatbots and AI Chatbots for Websites.pptxEvolution of Chatbots: From Custom AI Chatbots and AI Chatbots for Websites.pptx
Evolution of Chatbots: From Custom AI Chatbots and AI Chatbots for Websites.pptx
 
Tete thermostatique Zigbee MOES BRT-100 V2.pdf
Tete thermostatique Zigbee MOES BRT-100 V2.pdfTete thermostatique Zigbee MOES BRT-100 V2.pdf
Tete thermostatique Zigbee MOES BRT-100 V2.pdf
 
Bit N Build Poland
Bit N Build PolandBit N Build Poland
Bit N Build Poland
 
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdfZ-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
Z-Wave Fan coil Thermostat Heltun_HE-HT01_User_Manual.pdf
 
My self introduction to know others abut me
My self  introduction to know others abut meMy self  introduction to know others abut me
My self introduction to know others abut me
 
zigbee motion sensor user manual NAS-PD07B2.pdf
zigbee motion sensor user manual NAS-PD07B2.pdfzigbee motion sensor user manual NAS-PD07B2.pdf
zigbee motion sensor user manual NAS-PD07B2.pdf
 
Q1 Memory Fabric Forum: Building Fast and Secure Chips with CXL IP
Q1 Memory Fabric Forum: Building Fast and Secure Chips with CXL IPQ1 Memory Fabric Forum: Building Fast and Secure Chips with CXL IP
Q1 Memory Fabric Forum: Building Fast and Secure Chips with CXL IP
 
Manual sensor Zigbee 3.0 MOES ZSS-X-PIRL-C
Manual  sensor Zigbee 3.0 MOES ZSS-X-PIRL-CManual  sensor Zigbee 3.0 MOES ZSS-X-PIRL-C
Manual sensor Zigbee 3.0 MOES ZSS-X-PIRL-C
 
5 Tech Trend to Notice in ESG Landscape- 47Billion
5 Tech Trend to Notice in ESG Landscape- 47Billion5 Tech Trend to Notice in ESG Landscape- 47Billion
5 Tech Trend to Notice in ESG Landscape- 47Billion
 
Heltun_HE-RS01_User_Manual_B9AH.pdf
Heltun_HE-RS01_User_Manual_B9AH.pdfHeltun_HE-RS01_User_Manual_B9AH.pdf
Heltun_HE-RS01_User_Manual_B9AH.pdf
 
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
 
Zi-Stick UBS Dongle ZIgbee from Aeotec manual
Zi-Stick UBS Dongle ZIgbee from  Aeotec manualZi-Stick UBS Dongle ZIgbee from  Aeotec manual
Zi-Stick UBS Dongle ZIgbee from Aeotec manual
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI Technology
 
OTel Orientation_ How to Train Teams (OTel in Practice).pdf
OTel Orientation_ How to Train Teams (OTel in Practice).pdfOTel Orientation_ How to Train Teams (OTel in Practice).pdf
OTel Orientation_ How to Train Teams (OTel in Practice).pdf
 

Presentation - webinar embedded machine learning

  • 2. 2 31/01/2024 ©SIRRIS • CONFIDENTIAL • Table of Contents ➢ Introduction:Why embedded machine learning? ➢ Three main ingredients ➢ Training our model ➢ How to run inference on a Raspberry Pi PICO? ➢ Conclusion
  • 4. 4 31/01/2024 ©SIRRIS • CONFIDENTIAL • Why Machine Learning? ➢ Very good at finding patterns ➢ Less human input needed ➢ Broadly applicable ➢ More processing power ➢ Lots and lots of data ➢ Explicability? Can be a great tool! Not the only tool! ie., let’s avoid doing it for the fancy factor when traditional computer vision techniques are more suitable! Need Machine learning ? Machine learning ???
  • 5. 5 31/01/2024 ©SIRRIS • CONFIDENTIAL • Today ➢ Machine learning, and in particular deep learning with convolutional networks, is a good tool to do classification on images ➢ Let’s try to look into such a classification task… Embedded!
  • 6. 6 31/01/2024 ©SIRRIS • CONFIDENTIAL • Why Machine Learning on EDGE Low Cost Data stays local Less space usage Independent of Internet Connection Low Energy Consumption Low Latency ✓ Autonomous ✓ Reliable ✓ No bandwidth limitations ✓ Data privacy ✓ Security ✓ Control ✓ Mobile application ✓ No Cloud Computations ✓ Vehicles, … ✓ Viability of business case Why?
  • 7. 7 31/01/2024 ©SIRRIS • CONFIDENTIAL • Embedded Machine Learning • Only the inference will be embedded • i.e. no on-device training in this presentation
  • 9. 9 31/01/2024 ©SIRRIS • CONFIDENTIAL • Three Ingredients Hardware A Framework A Model
  • 10. 10 31/01/2024 ©SIRRIS • CONFIDENTIAL • Choosing a Framework… …BEFORETHE MICROCONTROLLER ➢ Similar accuracy (better with CNN?) ➢ Better for deployment ➢ Harder without Keras, easier with Keras ➢ TF lite/TFLμ for Embedded systems ➢ Similar accuracy (better with RNN?) ➢ Better for GPU support? ➢ Easier and more pythonic ➢ PyTorch live/mobile for ML on smartphones
  • 11. 11 31/01/2024 ©SIRRIS • CONFIDENTIAL • Choosing a Framework… …BEFORETHE MICROCONTROLLER ➢ Similar accuracy (better with CNN?) ➢ Better for deployment ➢ Harder without Keras, easier with Keras ➢ TF lite/TFLμ for Embedded systems ➢ Similar accuracy (better with RNN?) ➢ Better for GPU support? ➢ Easier and more pythonic ➢ PyTorch live/mobile for ML on smartphones
  • 12. 12 31/01/2024 ©SIRRIS • CONFIDENTIAL • A Link: good or bad news? ➢ Sometimes, you can get the best of both worlds… A SOTA PyTorch model TF lite deployment ONNX • Open Neural Network Exchange • Allowing exchange between frameworks • Helping Hardware providers for AI optimisation Let’s say you must useTensorFlow Lite for Microcontrollers (TFLu) …That does not mean you can skip the choiceTensorFlow vs PyTorch!
  • 13. 13 31/01/2024 ©SIRRIS • CONFIDENTIAL • Embedded Frameworks ➢ A dedicated embedded framework provides… ➢ It is not mandatory ➢ i.e., one could directly use python on a SBC like a raspberry PI Optimisation/ Compression On-device inference « engine » Getting rid of as much as possible
  • 14. 14 31/01/2024 ©SIRRIS • CONFIDENTIAL • STM32 CUBE AI TFLu CUBE AI Wider availability (Not only for STM boards) Better performance CLI CLI/GUI Interpreter-based Generated C++ code Open-source Tools for testing More help available on internet More information on your model TFLU Embedded Frameworks
  • 15. 15 31/01/2024 ©SIRRIS • CONFIDENTIAL • Different Networks Convolutional layer Depthwise SeparableConvolution 4*4*27*2 = 864 operations 4*4*9*3 + 4*4*3*2 = 528 operations ➢ Depthwise separable convolution ➢ Thinner model possible (𝛼) MobileNetV2
  • 16. 16 31/01/2024 ©SIRRIS • CONFIDENTIAL • Different Networks GroupConvolution Normal Convolution: 4*4*54*3 = 2592 operations Group Convolution: 4*4*18*3 = 864 operations 4 4 channel shuffle ShuffleNet
  • 17. 17 31/01/2024 ©SIRRIS • CONFIDENTIAL • Different Networks COMPARISON NAS = Neural Architecture Search
  • 18. 18 31/01/2024 ©SIRRIS • CONFIDENTIAL • Different Hardware ❑ The hardware can be microcontrollers not dedicated toAI ➢ Raspberry Pi PICO (RP2040/Arm cortex M0+), STM32 boards, … ❑ But it can be helped with a co-processor…
  • 19. 19 31/01/2024 ©SIRRIS • CONFIDENTIAL • Why NPUs? CPU GPU Or DSP (Digital Signal Processor), … NPU Neural Processing Unit ✓ Always required ✓ Fast & versatile ✓ Improving everyday ✓ Models are smaller ✓ Can be a stand-alone good choice for inference speed in some cases (sequential aspects of Recurrent Neural Networks, small deep networks?) ✓ Better for parallelization ✓ Convolutional networks ✓ Can be much faster, but never alone TPU (Tensor Processing Unit) from google VPU (Vision Processing Unit) from intel Tensor Cores (Nvidia) FPGA (reconfigurable aspects !) …
  • 20. 20 31/01/2024 ©SIRRIS • CONFIDENTIAL • Our Setup Raspberry 4 (Note: with RPI5, PCIe port present. & Coral PCIe is 20 €) Tensorflow Lite model &TFL_runtime (smaller python package with only theTF lite interpreter) MobileNetV2 (224, 224) Full integer quantized model Coral USB accelerator USB 3.0 required (otherwise, little gain due to low data transfer) 60€ PICAM
  • 21. 21 31/01/2024 ©SIRRIS • CONFIDENTIAL • Google Coral EdgeTPU
  • 22. 22 31/01/2024 ©SIRRIS • CONFIDENTIAL • Three Ingredients : lots of options… A hardware A framework A model … … …
  • 23. 23 31/01/2024 ©SIRRIS • CONFIDENTIAL • Many things exist… 1 2 3 Let’s avoid name-dropping ! Many options… Let’s pick ! Feeling lost … …But many available options is also a good thing!
  • 24. 24 31/01/2024 ©SIRRIS • CONFIDENTIAL • Three Ingredients : the path for today! Hardware A Framework A Model TensorFlow Lite for 𝜇Controllers Raspberry PICO MobileNetV2
  • 26. 26 31/01/2024 ©SIRRIS • CONFIDENTIAL • TF model dataset Pre-trained weights MobileNetV2 TF Lite model Reduction/Optimization Convert to .h file TFLu interpreter Plane ! TFLu TFLu for PICO Make file PICO SDK C++ code Training Inference
  • 27. 27 31/01/2024 ©SIRRIS • CONFIDENTIAL • TF model dataset Pre-trained weights MobileNetV2 TF Lite model Reduction/Optimization Convert to .h file TFLu interpreter Plane ! TFLu TFLu for PICO Make file PICO SDK C++ code Training Inference
  • 28. 28 31/01/2024 ©SIRRIS • CONFIDENTIAL • Database SOURCES ➢ PascalVOC ➢ Image Classification & Object Detection ➢ 11.540 images, 20 classes ➢ COCO ➢ Object Detection ➢ 200.000 images, 80 classes
  • 29. 29 31/01/2024 ©SIRRIS • CONFIDENTIAL • Database CUSTOM DATASET ➢ 8 classes: airplane, boat, bus, car, motorbike, none, person, train ➢ 800 images per class (600 training + 200 validation) ➢ Image size 224 x 224 ➢ Bounding box ➢ Random size (minimum 25% of image) ➢ Random location
  • 30. 30 31/01/2024 ©SIRRIS • CONFIDENTIAL • Transfer Learning BUILD NEW APPLICATIONS ➢ Pretrained network ➢ Feature extraction ➢ Reuse for different task ➢ Benefits ➢ Less data needed ➢ Lower training time ➢ Better generalization ➢ Fine-tuning Note: We only re-train a last dense layer for our classification task
  • 31. 31 31/01/2024 ©SIRRIS • CONFIDENTIAL • Training HYPERPARAMETERS & OVERFITTING ➢ Data augmentation ➢ Prevent overfitting ➢ Increase dataset size ➢ Improve accuracy ➢ Images: flip, crop, rotate, zoom, stretch, contrast, brightness… ➢ Batch size ➢ Smaller = less overfitting BUT slower training ➢ Learning rate ➢ Larger batches = higher learning rate ➢ Decrease over time
  • 32. 32 31/01/2024 ©SIRRIS • CONFIDENTIAL • Database INFLUENCEOF DATAAMOUNT ➢ MobileNetV2 (96 x 96) → remove random training images (same amount per class) ➢ 600 training images per class ➢ Accuracy: 0.868 ➢ 150 training images per class ➢ Accuracy: 0.825 ➢ 75 training images per class ➢ Accuracy: 0.812 ➢ 37 training images per class ➢ Accuracy: 0.794 ✓ Transfer Learning is Great!
  • 33. 33 31/01/2024 ©SIRRIS • CONFIDENTIAL • Training EXAMPLE INTENSORFLOW ➢ Pretrained network: MobilenetV2 ➢ 2.257.984 parameters ➢ Pretrained on ImageNet (1.300.000 images) ➢ Classifier: Fully connected layer ➢ 10.248 parameters ➢ Batch size = 20 ➢ Learning rate = 0.0002 ➢ Training time ≈ 2 minutes/epoch
  • 34. 34 31/01/2024 ©SIRRIS • CONFIDENTIAL • ResNet50 ➢ Parameters ➢ Base model: 23.587.712 ➢ Classifier: 16.392 ➢ Training time: 9 epochs, 6 minutes/epoch ➢ Size ➢ Normal: 94 Mb ➢ TFLite: 92 kb ➢ Performance ➢ Accuracy: 0.979 MobileNetV2 ➢ Parameters ➢ Base model: 2.257.984 ➢ Classifier: 10.248 ➢ Training time: 18 epochs, 2 minutes/epoch ➢ Size ➢ Normal: 12 Mb ➢ TFLite: 9 kb ➢ Performance ➢ Accuracy: 0.970 Comparison RESNETVS. MOBILENET (224 X 224)
  • 35. 35 31/01/2024 ©SIRRIS • CONFIDENTIAL • MobileNetV2 COMPARISON Input Resolution Scaling Factor Size (TFLite) Accuracy F1 score Inference time (pc) 224 x 224 1 8.698 kb 0.970 0.969 11.05 ms 96 x 96 1 8.698 kb 0.931 0.931 2.22 ms 96 x 96 0.35 1.597 kb 0.868 0.869 0.67 ms 48 x 48 1 8.698 kb 0.732 0.732 1.21 ms 48 x 48 0.35 1.597 kb 0.630 0.633 0.28 ms (Accuracy drop in 48 x 48 model partly due to pretrained weights not available)
  • 36. 36 31/01/2024 ©SIRRIS • CONFIDENTIAL • ResNet MobileNetV2 Comparison RESNETVS. MOBILENET (224 X 224)
  • 37. 37 31/01/2024 ©SIRRIS • CONFIDENTIAL • MobileNetV2 224VS. 96 224 x 224 (α = 1) 96 x 96 (α = 0.35)
  • 38. 38 31/01/2024 ©SIRRIS • CONFIDENTIAL • TFLite COMPRESSED FLATBUFFER FORMAT ➢ Benefits ➢ Reduced size ➢ Faster inference ➢ Includes optimization possibilities ➢ Works out-0f-the-box for most models ➢ Not allTensorFlow operations supported
  • 39. 39 31/01/2024 ©SIRRIS • CONFIDENTIAL • Quantization ➢ Changing the datatype ➢ Like moving from RGB888 to RGB565 orYCbCr422 in computer vision ➢ Can be float16, dynamic range, … ➢ Here, we use 8 bit integers ➢ Post-TrainingQuantization (PTQ) vs QuantizationAwareTraining (QAT) ➢ Model is smaller & faster… -128 127 min max At the cost of… Accuracy drop?
  • 40. 40 31/01/2024 ©SIRRIS • CONFIDENTIAL • Quantization Size (TFLite) Accuracy F1 score Inference time (RPI 4) None 1.590 kb 0.869 0.830 4.17 ms float16 825 kb 0.870 0.831 4.12 ms Dynamic Range 538 kb 0.869 0.834 4.66 ms Full Integer 611 kb 0.845 0.805 3.46 ms Full integer (Quantization Aware) 611 kb 0.852 0.810 3.46 ms Quantization RESULTS Model: MobileNetV2 (96 x 96, α = 0.35)
  • 41. 41 31/01/2024 ©SIRRIS • CONFIDENTIAL • Pruning PRINCIPLE ➢ Weight pruning ➢ Gradually zero out weights ➢ Based on magnitude, activation, gradient … ➢ Intermediate training for recalibration ➢ Structured pruning ➢ Remove neurons/filters ➢ α factor in MobileNetV2 architecture ➢ Reduced size due to efficient compression ➢ Improved inference time (skip zero computations)
  • 42. 42 31/01/2024 ©SIRRIS • CONFIDENTIAL • Pruning Size (TFLite) Size (zip) Accuracy F1 score Inference time (RPI 4) None 1.590 kb 1.463 kb 0.869 0.830 4.17 ms Dense layer (80%) 1.564 kb 1.439 kb 0.865 0.820 3.95 ms Dense layer (90%) 1.558 kb 1.434 kb o.855 0.823 3.97 ms Dense layer (80%) + 1/3 Conv layers (50%) 1.191 kb 989 kb 0.769 0.748 3.99 ms Pruning RESULTS Model: MobileNetV2 (96 x 96, α = 0.35) Less accuracy drop when pruning the latter stages of the model
  • 43. 43 31/01/2024 ©SIRRIS • CONFIDENTIAL • Pruning and Quantization COMBINED Pruning Size (TFLite) Size (zip) Accuracy F1 score Inference time (RPI 4) None 1.590 kb 1.463 kb 0.869 0.830 4.17 ms Full integer 611 kb 0.845 0.805 3.46 ms Dense layer (80%) + 50 Conv layers (50%) 1.191 kb 989 kb 0.769 0.748 3.99 ms Dense layer (80%) + 1/3 Conv layers (50%) + Full integer 611 kb 365 kb 0.734 0.709 3.62 ms Model: MobileNetV2 (96 x 96, α = 0.35)
  • 44. 44 31/01/2024 ©SIRRIS • CONFIDENTIAL • Weight Clustering PRINCIPLE ➢ Cluster weights in a layer in N clusters ➢ Cluster centroid value gets shared to all weights in cluster ➢ Additional fine-tuning possible
  • 45. 45 31/01/2024 ©SIRRIS • CONFIDENTIAL • Weight Clustering RESULTS Pruning Size (TFLite) Size (zip) Accuracy F1 score None 1.590 kb 1.463 kb 0.869 0.830 Dense layer (90%) 1.558 kb 1.434 kb o.855 0.823 Dense layer (16 clusters) 1.671 kb 1.442 kb 0.872 0.832 Model: MobileNetV2 (96 x 96, α = 0.35) Strip_clustering_wrapper function inTensorFlow not working
  • 46. 46 31/01/2024 ©SIRRIS • CONFIDENTIAL • Parameter Accuracy Size Inference Decreased input resolution - - = ++ Enough information necessary in pixels Decreased model size (α) - - - ++ +++ NAS can improve the accuracy loss Full integer quantization - ++ + Often required for inference on MCU Pruning - (-) + = Less impact on later layers Weight Clustering - + = Overview INFLUENCEOF DIFFERENT PARAMETERS
  • 47. 47 31/01/2024 ©SIRRIS • CONFIDENTIAL • However… ❑ We do not need to redo everything from scratch ❑ Many tools, tutorials, etc. are available ❑ A bunch of weights does not mean anything for us humans (hence all the work done on explicable AI) but we do not need to understand them… ➢ Accepting abstraction + using available tools = simpler than it may look? OK, I lied. I SAIDWE HADTHEWAY ANDTHEN I COMEWITH OTHER COMPARISONTABLES… • We don’t need to create new model architectures : MobileNetV2! • We don’t need to implement them: TensorFlow! • We don’t even train most of that: transfer learning!
  • 48. 48 31/01/2024 ©SIRRIS • CONFIDENTIAL • Memory & accuracy are known from the model Inference time depends on the hardware ! Some results of inference time BUT Model RPI4 Coral (usb2.0) Coral Coral+ (96, 96) ~ 3.4 ms NA ~ 1.72 ms NA (224, 224) ~100 ms ~ 12.6 ms ~ 5 ms ~3.3 ms 20 x faster 2 x faster STM32H747I + MBV2 (𝑟𝑒𝑠 = 96, 𝛼 = 0,35) 𝟓𝟔 𝒎𝒔 PICO + MBV2 (𝑟𝑒𝑠 = 48, 𝛼 = 0,35) 250 𝒎𝒔 Spoiler alert!
  • 49. How to run inference on a Raspberry Pi PICO?
  • 50. 50 31/01/2024 ©SIRRIS • CONFIDENTIAL • TF model dataset Pre-trained weights MobileNetV2 TF Lite model Reduction/Optimization Convert to .h file TFLμ interpreter Plane ! TFLu TFLu for PICO Make file PICO SDK C++ code Training Inference
  • 51. 51 31/01/2024 ©SIRRIS • CONFIDENTIAL • TF model dataset Pre-trained weights MobileNetV2 TF Lite model Reduction/Optimization Convert to .h file TFLu interpreter Plane ! TFLu TFLu for PICO Make file PICO SDK C++ code Training Inference
  • 52. 52 31/01/2024 ©SIRRIS • CONFIDENTIAL • Content OVERVIEW ➢ Raspberry Pi Pico 1. Initial setup ➢ CMake file ➢ Pico-sdk library 2. Blinking a LED 3. Run inference ➢ TFLite-micro library ➢ Include model ➢ Execute the code μ Ubuntu WSL
  • 53. 53 31/01/2024 ©SIRRIS • CONFIDENTIAL • Resources WHERETO BEGIN ➢ Datasheet ➢ “Getting Started” ➢ Github’s README We are helped!
  • 54. 54 31/01/2024 ©SIRRIS • CONFIDENTIAL • Initial Setup FOLDER STRUCTURE ➢ Libraries needed: ➢ pico-sdk (software development kit) ➢ Install toolchain ➢ $ sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
  • 55. 55 31/01/2024 ©SIRRIS • CONFIDENTIAL • Pico-sdk Library INSTALLATION PROCEDURE ➢ Clone the repository and update the submodules ➢ $ git clone https://github.com/raspberrypi/pico-sdk.git --branch master ➢ $ cd pico-sdk ➢ $ git submodule update --init ➢ Copy pico_sdk_import.cmake from lib/pico-sdk/external to main folder ➢ Update pico_sdk_path variable ➢ $ export PICO_SDK_PATH=‘<main_folder>/lib/pico_sdk
  • 56. 56 31/01/2024 ©SIRRIS • CONFIDENTIAL • Pico-sdk Library PATHVARIABLE
  • 58. 58 31/01/2024 ©SIRRIS • CONFIDENTIAL • Blinking a LED MAIN.CPP #include <stdio.h> #include "pico/stdlib.h" #include "hardware/gpio.h" #include "pico/binary_info.h" /* As per raspberry pico pinout documentation. */ #define LED_PIN 28 /* Program entry point. */ int main() { /* Initilisation of standard lib for input/output. */ stdio_init_all(); /* Initialisation of LED pin as ouput PIN, with LOW initial value. */ gpio_init(LED_PIN); gpio_set_dir(LED_PIN, GPIO_OUT); gpio_put(LED_PIN, 0); /* Forever loop. */ while (true) { /* Blinking the LED. */ gpio_put(LED_PIN, 1); sleep_ms(1000); gpio_put(LED_PIN, 0); sleep_ms(1000); } /* Unreachable code. */ return 0; }
  • 59. 59 31/01/2024 ©SIRRIS • CONFIDENTIAL • Blinking a LED CMAKE FILE cmake_minimum_required(VERSION 3.12) include(pico_sdk_import.cmake) project(picoDemo C CXX ASM) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) pico_sdk_init() add_compile_options(-Wall -Wno-format -Wno-unused-function -Wno-maybe-uninitialized) add_executable(picoDemo src/main.cpp) target_link_libraries(${PROJECT_NAME} pico_stdlib) pico_enable_stdio_usb(picoDemo 1) pico_enable_stdio_uart(picoDemo 0) pico_add_extra_outputs(picoDemo) pico-sdk library uf2 file format to easily flash to the pico Use USB connection for communication
  • 60. 60 31/01/2024 ©SIRRIS • CONFIDENTIAL • Blinking a LED BUILDINGTHE PROJECT ➢ Navigate to the build folder ➢ $ cmake .. ➢ $ make ➢ Copy the created .uf2 file to the PICO to flash the program
  • 62. 62 31/01/2024 ©SIRRIS • CONFIDENTIAL • Pico-tflmicro CLONE REPOSITORY ➢ Navigate to the lib folder ➢ $ git clone https://github.com/raspberrypi/pico-tflmicro.git ➢ This is a repository that: ➢ Includes theTensorFlow library (https://github.com/tensorflow/tflite-micro) ➢ BUT already configured for the pico ➢ Later we will show how to configure directly theTensorFlow library
  • 63. 63 31/01/2024 ©SIRRIS • CONFIDENTIAL • Folder structure
  • 64. 64 31/01/2024 ©SIRRIS • CONFIDENTIAL • INCLUDE IN PROJECT Pico-tflmicro ➢ In main.cpp add #include "tensorflow/lite/micro/micro_mutable_op_resolver.h" #include "tensorflow/lite/micro/tflite_bridge/micro_error_reporter.h" #include "tensorflow/lite/micro/micro_interpreter.h" #include "tensorflow/lite/schema/schema_generated.h“ ➢ In CMakeLists.txt add target_link_libraries(${PROJECT_NAME} pico_stdlib pico-tflmicro) add_subdirectory("lib/pico-tflmicro" EXCLUDE_FROM_ALL)
  • 65. 65 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference INCLUDE TEST IMAGE Test image Actual 48x48 image used for inference Included as image.h (array with the data), eventually should come from camera
  • 66. 66 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference INCLUDE MODEL ➢ .tflite model can be converted to .h via a command ➢ $ xxd –i model_name.tflite > new_model_name.h ➢ Open the model and make it a const unsigned char!
  • 67. 67 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – NECESSARY INCLUDES #include <stdio.h> #include "pico/stdlib.h" #include "hardware/gpio.h" #include "pico/binary_info.h" /* Specific includes for tensorflow lite for microcontrollers. */ #include "tensorflow/lite/micro/micro_mutable_op_resolver.h" #include "tensorflow/lite/micro/tflite_bridge/micro_error_reporter.h" #include "tensorflow/lite/micro/micro_interpreter.h" #include "tensorflow/lite/schema/schema_generated.h" /* The image that will be tested. */ #include "image.h" /* The trained model, convert for TFLu, and within a C header file. */ #include "..//models//model.h" /* As per raspberry pico pinout documentation. */ #define LED_PIN 28 /* Adding all operations that were available before, i.e. 128 operations. */ using AllOpsResolver_t = tflite::MicroMutableOpResolver<9>;
  • 68. 68 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – FUNCTIONSTO PREPROCESSTHE IMAGE (NEEDED FOR CORRECT INPUTTOTHE MODEL) /* Rescaling to perform operations on data fo similar scale. */ float rescaling(float x, float scale, float offset) { return (x * scale) - offset; } /* Quantization procedure, i.e. moving from a number represented with floats to a number represented with int8. */ int8_t quantize(float x, float scale, float zero_point) { return (x/scale) + zero_point; }
  • 69. 69 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – INITIALIZE LED, LABELSAND IMAGE SIZE /* Program entry point. */ int main() { /* Initilisation of the standard lib for input/output. */ stdio_init_all(); /* Initialisation of the LED pin, as an ouput PIN, with LOW initial value. */ gpio_init(LED_PIN); gpio_set_dir(LED_PIN, GPIO_OUT); gpio_put(LED_PIN, 0); /* Image dimensions (48,48) on 3 channels (RGB). */ int Npix = 48; int Nchan = 3; int Nlabels = 8; /* The 8 possible labels for the classifier as strings for the serial output. */ const char *label [] = {"aeroplane", "boat", "bus", "car", "motorbike", "none", "person", "train"};
  • 70. 70 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – INITIALIZETFLITE-MICROOBJECTS /* Initialisation of the TFLu interpreter. */ static const tflite::Model* tflu_model = nullptr; static tflite::MicroInterpreter* tflu_interpreter = nullptr; static TfLiteTensor* tflu_i_tensor = nullptr; static TfLiteTensor* tflu_o_tensor = nullptr; /* The ops resolver and error report. */ static AllOpsResolver_t op_resolver; static tflite::MicroErrorReporter micro_error_reporter; tflite::ErrorReporter* error_reporter = &micro_error_reporter;
  • 71. 71 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – ADDTHEOPERATIONS INCLUDED INYOUR MODEL op_resolver.AddConv2D(tflite::Register_CONV_2D_INT8()); op_resolver.AddDepthwiseConv2D(tflite::Register_DEPTHWISE_CONV_2D_INT8()); op_resolver.AddPad(); op_resolver.AddAdd(tflite::Register_ADD_INT8()); op_resolver.AddRelu6(); op_resolver.AddMean(); op_resolver.AddSoftmax(tflite::Register_SOFTMAX_INT8()); op_resolver.AddFullyConnected(tflite::Register_FULLY_CONNECTED_INT8()); op_resolver.AddDequantize();
  • 72. 72 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – MORE INITIALIZATION + INCLUDINGTHE MODEL /* Allocation of the tensor arena, in the HEAP. */ constexpr int tensor_arena_size = 144000; uint8_t *tensor_arena = nullptr; tensor_arena = (uint8_t *)malloc(tensor_arena_size); /* Initilizing the scaling values. */ float scaling_scale = 1.0f/127.5f; int32_t scaling_offset = -1.0f; /* Retrieving the model from the header file. */ tflu_model = ::tflite::GetModel(mobilenet48_int_input_tflite); /* Creating the interpreter and allocating tensors. */ static tflite::MicroInterpreter static_interpreter(tflu_model, op_resolver, tensor_arena, tensor_arena_size); tflu_interpreter = &static_interpreter; TfLiteStatus allocate_status = tflu_interpreter->AllocateTensors(); if (allocate_status != kTfLiteOk) { printf("Issue when allocating the tensors. rn"); }
  • 73. 73 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – LINK INPUT/OUTPUTANDGET QUANTIZATION PARAMETERS /* Linking the interpreter to the input/output tensors. */ tflu_i_tensor = tflu_interpreter->input(0); tflu_o_tensor = tflu_interpreter->output(0); /* Retrieving the quantization parameters from the model. */ const auto* i_quantization = reinterpret_cast<TfLiteAffineQuantization*>(tflu_i_tensor->quantization.params); float tfluQuant_scale = i_quantization->scale->data[0]; int32_t tfluQuant_zeropoint = i_quantization->zero_point->data[0]; /* Indices initialization. */ int idx = 0; float value = 0; float value_scaled = 0; float value_quant = 0; int idx_tf = 0;
  • 74. 74 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – DO RESCALINGANDQUANTIZATIONAND GIVE ITAS INPUTTOTHE MODEL /* Forever loop. */ while (true) { /* Blinking the LED. */ gpio_put(LED_PIN, 1); sleep_ms(1000); gpio_put(LED_PIN, 0); sleep_ms(1000); /* Preparing the input. */ for (int i(0); i<Npix; i++) { for (int j(0); j<Npix; j++) { for (int k(0); k<Nchan; k++) { /* Compute the 1D index*/ idx = k*Npix*Npix + j*Npix + i; value = test_image[idx]; /* Re-scale than quantize the result. */ value_scaled = rescaling(value, scaling_scale, scaling_offset); value_quant = quantize(value_scaled, tfluQuant_scale, tfluQuant_zeropoint); /* Put the result in the input tensor */ tflu_i_tensor->data.int8[idx] = value_quant; } } }
  • 75. 75 31/01/2024 ©SIRRIS • CONFIDENTIAL • Run Inference MAIN.CPP – RUN INFERENCEAND PRINT RESULT /* Call the interpreter to infer a label. */ TfLiteStatus invoke_status = tflu_interpreter->Invoke(); /* Print the probabilities for each labels with the serial communication. */ printf("Result: [%f; %f; %f; %f; %f; %f; %f; %f].n", tflu_o_tensor->data.f[0], tflu_o_tensor->data.f[1], tflu_o_tensor->data.f[2], tflu_o_tensor->data.f[3], tflu_o_tensor->data.f[4], tflu_o_tensor->data.f[5], tflu_o_tensor->data.f[6], tflu_o_tensor->data.f[7]); /* Retrieve the result with maximum likelihood. */ size_t ix_max = 0; float pb_max = 0; for (size_t ix = 0; ix<=Nlabels; ix++) { if (tflu_o_tensor->data.f[ix] > pb_max) { ix_max = ix; pb_max = tflu_o_tensor->data.f[ix]; } } /* Print the most likely label with the serial communication. */ printf("Result of inference: %s with proba %f.n", label[ix_max], pb_max); }
  • 77. 77 31/01/2024 ©SIRRIS • CONFIDENTIAL • TFLite-micro RESULT ➢ Result: ➢ aeroplane: 0.488 ➢ boat: 0.446 ➢ bus: 0.012 ➢ car: 0.023 ➢ moborbike: 0.000 ➢ none: 0.004 ➢ person: 0.004 ➢ train: 0.012
  • 79. 79 31/01/2024 ©SIRRIS • CONFIDENTIAL • Three githubs TensorFlow Tflite-micro Pico-tflmicro Just a subset Library already prepared for pico 1 2 Used in the demo until now Alternative route, shown in next slides
  • 80. 80 31/01/2024 ©SIRRIS • CONFIDENTIAL • TFLite-Micro ONLY USINGTHETENSORFLOW GITHUB ➢ Navigate to the lib folder ➢ $ git clone https://github.com/tensorflow/tflite-micro.git ➢ $ cd tflite-micro ➢ $ make -f tensorflow/lite/micro/tools/make/Makefile TARGET=cortex_m_generic TARGET_ARCH=cortex-m0plus OPTIMIZED_KERNEL_DIR=cmsis_nn microlite ➢ TheTARGET andTARGET_ARCH are specific to the hardware (PICO in this case)
  • 81. 81 31/01/2024 ©SIRRIS • CONFIDENTIAL • TFLite-Micro CMAKELISTS.TXT add_compile_definitions(TF_LITE_STATIC_MEMORY=1) target_link_libraries(${PROJECT_NAME} pico_stdlib $ENV{TFLITE_MICRO_PATH}/gen/cortex_m_generic_cortex-m0plus_default/lib/libtensorflow-microlite.a) include_directories(${PROJECT_NAME} PRIVATE $ENV{TFLITE_MICRO_PATH}/) include_directories(${PROJECT_NAME} PRIVATE $ENV{TFLITE_MICRO_PATH}/tensorflow/lite/micro/tools/make/downloads/flatbuffers/include/) include_directories(${PROJECT_NAME} PRIVATE $ENV{TFLITE_MICRO_PATH}/tensorflow/lite/micro/tools/make/downloads/gemmlowp/) tflite-micro library Includes needed for the code in main.cpp
  • 82. 82 31/01/2024 ©SIRRIS • CONFIDENTIAL • TFLite-Micro MAIN.CPP ➢ Most of the code in main.cpp is the same ➢ Following slides show the things that change
  • 83. 83 31/01/2024 ©SIRRIS • CONFIDENTIAL • TFLite-Micro MAIN.CPP ➢ Main.cpp: #include "tensorflow/lite/micro/tflite_bridge/micro_error_reporter.h“ #include "tensorflow/lite/micro/micro_interpreter.h“ #include "tensorflow/lite/schema/schema_generated.h“ #include "tensorflow/lite/micro/system_setup.h“ #include "tensorflow/lite/micro/micro_log.h“ #include "tensorflow/lite/micro/micro_mutable_op_resolver.h“
  • 84. 84 31/01/2024 ©SIRRIS • CONFIDENTIAL • TFLite-Micro MAIN.CPP ➢ Main.cpp: const tflite::Model* model = nullptr; tflite::MicroInterpreter* interpreter = nullptr; TfLiteTensor* input = nullptr; constexpr int kTensorArenaSize = 160000; alignas(16) static uint8_t tensor_arena[kTensorArenaSize]; tflite::InitializeTarget(); static tflite::MicroMutableOpResolver<9> op_resolver; added Replaces allOpsResolver
  • 85. 85 31/01/2024 ©SIRRIS • CONFIDENTIAL • TFLite-Micro MAIN.CPP ➢ Main.cpp: ➢ op_resolver.AddConv2D(tflite::Register_CONV_2D_INT8()); ➢ op_resolver.AddDepthwiseConv2D(tflite::Register_DEPTHWISE_CONV_2D_INT8()); ➢ op_resolver.AddPad(); ➢ op_resolver.AddAdd(tflite::Register_ADD_INT8()); ➢ op_resolver.AddRelu6(); ➢ op_resolver.AddMean(); ➢ op_resolver.AddSoftmax(tflite::Register_SOFTMAX_INT8()); ➢ op_resolver.AddFullyConnected(tflite::Register_FULLY_CONNECTED_INT8()); ➢ op_resolver.AddDequantize();
  • 87. 87 31/01/2024 ©SIRRIS • CONFIDENTIAL • Next steps We want to have the inference live with images coming from a ~5€ camera ➢ OV7670 sensor Get images but keep the corresponding cost to a minimum ? Counting on the CPU (SW)? Not Counting on CPU (HW)? • Efficient memory usage • Fusing operations • … • PIO • DMA (direct memory access)
  • 88. 88 31/01/2024 ©SIRRIS • CONFIDENTIAL • PIO ➢ A PIO instance contains 4 state machines ➢ A state machine is like a tiny processor that can execute a limited set of instructions ➢ The CPU loads the corresponding instructions, enabling/disabling the state machines ➢ Its a way to delegate some workload away from the CPU, i.e. communication with the camera ➢ We wanted to show a quick example where the Raspberry Pi PICO blinks a LED without using the CPU but… time is ticking ! PROGRAMMABLE INPUT/OUPUT
  • 89. 89 31/01/2024 ©SIRRIS • CONFIDENTIAL • Edge AI is Multidisciplinary Hardware Data science Software A B C Wanting a first inference from scratch… A need is defined, hence technical specifications must be met Seeking to be state of the art… Bad news. All 3 needed. Bad news. Mastering all 3 needed. Good news. Insisting on the most comfortable one(s). Usually what must be achieved?
  • 90. 90 31/01/2024 ©SIRRIS • CONFIDENTIAL • Edge AI issues Multidisciplinary expertise required… and… ➢ Fast evolving field (new models, new frameworks, new HW…) ➢ Many constraints to respect for the solution: ➢ Technical (inference time, memory usage, …) ➢ Human (appropriate to user expertise) ➢ Business (at an OK cost) Hardware Data science Software
  • 91. 91 31/01/2024 ©SIRRIS • CONFIDENTIAL • Conclusion ➢ Beware of name dropping ➢ First a need, then embedded machine learning is a possibility (and technical specifications are the finish line) ➢ Embedded Machine learning is inherently multidisciplinary ➢ Very complex from scratch… But we are helped!
  • 92. 92 31/01/2024 ©SIRRIS • CONFIDENTIAL • Don’t hesitate to contact us! ➢ Questions about this presentation? ➢ Miguel Lejeune (miguel.lejeune@sirris.be, +32 490 01 41 44) ➢ Vincent Lucas (vincent.lucas@sirris.be, +32 493 31 15 92) ➢ Questions about other technologies/Sirris offerings? ➢ Questions about fundings ? ➢Bas Rottier (bas.rottier@sirris.be, +32 491 86 91 70)
  • 93. 93 31/01/2024 ©SIRRIS • CONFIDENTIAL • Thanks!