mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-05 09:09:13 -05:00
119 lines
3.1 KiB
Plaintext
119 lines
3.1 KiB
Plaintext
# AI Frameworks
|
|
|
|
::: {.callout-note collapse="true"}
|
|
## Learning Objectives
|
|
|
|
* coming soon.
|
|
|
|
:::
|
|
|
|
## Introduction
|
|
|
|
Explanation: Discuss what ML frameworks are and why they are important. Also, elaborate on the aspects involved in understanding how an ML framework is developed and deployed.
|
|
|
|
- Definition of ML Frameworks
|
|
- What is an ML framework?
|
|
- Why are ML frameworks important?
|
|
- Go over the design and implementation
|
|
- Examples of ML frameworks
|
|
- Challenges of embedded systems
|
|
|
|
## Evolution of AI Frameworks
|
|
|
|
- High-level vs. low-level frameworks
|
|
- Static vs. dynamic computation graph frameworks
|
|
- Plot showing number of different frameworks and shrinking
|
|
|
|
## Types of AI Frameworks
|
|
|
|
- Cloud-based AI frameworks
|
|
- Edge AI frameworks
|
|
- TinyML frameworks
|
|
|
|
## Popular AI Frameworks
|
|
|
|
Explanation: Discuss the most common types of ML frameworks available and provide a high-level overview, so that we can set into motion what makes embedded ML frameworks unique.
|
|
|
|
- TensorFlow, PyTorch, Keras, ONNX Runtime, Scikit-learn
|
|
- Key Features and Advantages
|
|
- API and Programming Paradigms
|
|
- Table comparing the different frameworks
|
|
|
|
## Basic Components
|
|
|
|
- Computational graphs
|
|
- Tensor data structures
|
|
- Distributed training
|
|
- Model optimizations
|
|
- Code generation
|
|
- Differentiable programming
|
|
- Hardware acceleration support (GPUs, TPUs)
|
|
|
|
## Advanced Features
|
|
|
|
- AutoML, No-Code/Low-Code ML
|
|
- Transfer learning
|
|
- Federated learning
|
|
- Model conversion
|
|
- Distributed training
|
|
- End-to-End ML Platforms
|
|
|
|
## Embedded AI Constraints
|
|
|
|
Explanation: Describe the constraints of embedded systems, referring to the previous chapters, and remind readers about the challenges and why we need to consider creating lean and efficient solutions.
|
|
|
|
### Hardware
|
|
|
|
- Memory Usage
|
|
- Processing Power
|
|
- Energy Efficiency
|
|
- Storage Limitations
|
|
- Hardware Diversity
|
|
|
|
### Software
|
|
|
|
- Library Dependency
|
|
- Lack of OS
|
|
|
|
## Embedded AI Frameworks
|
|
|
|
Explanation: Now, discuss specifically about the unique embedded AI frameworks that are available and why they are special, etc.
|
|
|
|
- TensorFlow Lite
|
|
- ONNX Runtime
|
|
- MicroPython
|
|
- CMSIS-NN
|
|
- Edge Impulse
|
|
- Others (briefly mention some less common but significant frameworks)
|
|
|
|
## Choosing the Right Framework
|
|
|
|
- Factors to consider: ease of use, community support, performance, scalability, etc.
|
|
- Integration with data engineering tools
|
|
- Integration with model optimization tools
|
|
|
|
## Framework Comparison
|
|
|
|
Explanation: Provide a high-level comparison of the different frameworks based on class slides, etc.
|
|
|
|
- Table of differences and similarities
|
|
|
|
## Trends in ML Frameworks
|
|
|
|
Explanation: Discuss where these ML frameworks are heading in the future. Perhaps consider discussing ML for ML frameworks?
|
|
|
|
- Framework Developments on the Horizon
|
|
- Anticipated Innovations in the Field
|
|
|
|
## Challenges and Limitations
|
|
|
|
Explanation: None of the frameworks are perfect, so it is important to understand their limitations and challenges.
|
|
|
|
- Model compatibility and interoperability issues
|
|
- Scalability and performance challenges
|
|
- Addressing the evolving needs of AI developers
|
|
|
|
## Conclusion
|
|
|
|
- Summary of Key Takeaways
|
|
- Recommendations for Further Learning |