forked from harvard-edge/cs249r_book
-
Notifications
You must be signed in to change notification settings - Fork 0
/
frameworks.qmd
119 lines (80 loc) · 3.1 KB
/
frameworks.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# 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