Objectives
- Equip students with practical knowledge and skills in Embedded and ML
- Enhance students’ understanding of AI and ML concepts from a Hardware and software development perspective
- Foster industry-academic synergy to provide students with a competitive edge
Prerequisites
- Basic understanding of programming languages such as Python
- Familiarity with fundamental concepts in data processing and ML algorithms
- Prior exposure to mathematical concepts including linear algebra, calculus, and probability theory
Tools and Resources
Tool: Google Colab / ESP32 / Raspberry-Pi / Micropython / Thonny IDE
Take Away
- Able to apply practically AI and ML concepts , by selecting appropriate machine learning models
- Able to use python features and their uses in developing applications
- Deployment of ESP32/Raspberry Pi
- Overview of embedded systems
- Introduction to microcontrollers (ESP32/Raspberry Pi)
- Understanding GPIO pins and basic interfacing
- Basics of machine learning and its applications
- Introduction to supervised, unsupervised, and reinforcement learning
- Overview of machine learning algorithms (linear regression, logistic regression, decision trees, etc.)
- Installing necessary software (Arduino IDE, TensorFlow Lite, etc.)
- Setting up ESP32/Raspberry Pi for development
- Python Programming for embedded systems
- Introduction to sensors (temperature, humidity, accelerometer, etc.)
- Interfacing sensors with ESP32/Raspberry Pi
- Collecting sensor data
- Understanding the importance of data preprocessing
- Techniques for data cleaning, normalization, and feature scaling
- Implementing data preprocessing techniques in Python
- Introduction to EDA and its significance
- Visualizing sensor data using matplotlib and seaborn
- Extracting insights from sensor data
- • Overview of machine learning models suitable for embedded systems
- Understanding the limitations and advantages of different models
- • Selecting appropriate machine learning models for the given problem
- Splitting data into training and testing sets
- Training machine learning models using TensorFlow Lite or other frameworks
- Techniques for model optimization in embedded systems (model quantization, pruning, etc.)
- Optimizing machine learning models for inference speed and memory footprint
- Evaluating model performance on embedded devices
- Deploying trained models on ESP32/Raspberry Pi
- Integration of machine learning models with sensor data
- Testing model inference on real-time data
Project Work – Part I
- Dividing interns into groups
- Assigned projects related to embedded machine learning
- Brainstorming and initial project planning
Project Work – Part II
- Implementation phase of the projects
- Regular meetings with mentors for guidance and support
- Troubleshooting and debugging issues
Project Presentation and Conclusion of the Internship Program
- Finalizing projects and preparing presentations
- Presenting projects to mentors and peers
- Conclusion of the internship program