mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-06-01 19:57:15 -05:00
Achieve complete emoji consistency across all modules for student materials
Decision: Keep emojis in section headers for better student experience Rationale: - 📊 🎯 🧠 📚 emojis provide visual scanning and semantic meaning - More engaging and approachable for students - Clear information architecture (Info, Objectives, Concepts, Implementation) - 13/14 modules already used this pattern - now 14/14 consistent - Maintains TOC navigation (vs hidden admonition boxes) Changes: - Fixed 01_setup: Added 🎯 Learning Objectives, 🧠 Overview, 📚 What You'll Build - Fixed 11_compression: Added 📊 Module Info, 🎯 Learning Objectives, 🧠 Overview - Reverted 06_cnn: Back to ## headers (from admonition boxes) for TOC visibility - All modules now follow: 📊 Module Info → 🎯 Learning Objectives → 🧠 Build/Overview → 📚 What You'll Build Result: Consistent, student-friendly visual hierarchy across all 14 modules
This commit is contained in:
@@ -24,11 +24,7 @@ learning_objectives: ['Understand the nbdev notebook-to-Python workflow', 'Write
|
||||
|
||||
Welcome to TinyTorch! This is your first module in the Machine Learning Systems course.
|
||||
|
||||
## Overview
|
||||
|
||||
The setup module teaches you the complete TinyTorch development workflow while introducing fundamental programming concepts. You'll learn to write code with NBDev directives, implement classes and functions, and understand the module-to-package export system.
|
||||
|
||||
## Learning Goals
|
||||
## 🎯 Learning Objectives
|
||||
|
||||
- Understand the nbdev notebook-to-Python workflow
|
||||
- Write your first TinyTorch code with `#| export` directives
|
||||
@@ -36,15 +32,11 @@ The setup module teaches you the complete TinyTorch development workflow while i
|
||||
- Run tests and use the CLI tools
|
||||
- Get comfortable with the development rhythm
|
||||
|
||||
## Files
|
||||
## 🧠 Overview
|
||||
|
||||
- `setup_dev.py` - Main development file (Jupytext format with full educational content)
|
||||
- `setup_dev.ipynb` - Jupyter notebook version (auto-generated and executed)
|
||||
- `tinytorch_flame.txt` - ASCII art file containing the TinyTorch flame design
|
||||
- `tests/test_setup.py` - Comprehensive pytest test suite
|
||||
- `README.md` - This file
|
||||
The setup module teaches you the complete TinyTorch development workflow while introducing fundamental programming concepts. You'll learn to write code with NBDev directives, implement classes and functions, and understand the module-to-package export system.
|
||||
|
||||
## What You'll Implement
|
||||
## 📚 What You'll Build
|
||||
|
||||
### 1. Basic Functions
|
||||
- `hello_tinytorch()` - Display ASCII art and welcome message
|
||||
|
||||
@@ -5,7 +5,7 @@ difficulty: "Intermediate"
|
||||
time_estimate: "2-4 hours"
|
||||
prerequisites: []
|
||||
next_steps: []
|
||||
learning_objectives: []
|
||||
learning_objectives: ['Understand the convolution operation (sliding window, local connectivity, weight sharing)', 'Implement Conv2D with explicit for-loops (single channel, single filter, no stride/pad)', 'Visualize how convolution builds feature maps', 'Compose Conv2D with other layers to build a simple ConvNet', '(Stretch) Explore stride, padding, pooling, and multi-channel input']
|
||||
---
|
||||
|
||||
# Module: CNN
|
||||
@@ -16,24 +16,20 @@ learning_objectives: []
|
||||
|
||||
|
||||
|
||||
```{admonition} 📊 Module Info
|
||||
:class: note
|
||||
## 📊 Module Info
|
||||
- **Difficulty**: ⭐⭐⭐ Advanced
|
||||
- **Time Estimate**: 6-8 hours
|
||||
- **Prerequisites**: Tensor, Activations, Layers, Networks modules
|
||||
- **Next Steps**: Training, Computer Vision modules
|
||||
|
||||
**Implement the core building block of modern computer vision: the convolutional layer.**
|
||||
```
|
||||
|
||||
```{admonition} 🎯 Learning Objectives
|
||||
:class: tip
|
||||
## 🎯 Learning Objectives
|
||||
- Understand the convolution operation (sliding window, local connectivity, weight sharing)
|
||||
- Implement Conv2D with explicit for-loops (single channel, single filter, no stride/pad)
|
||||
- Visualize how convolution builds feature maps
|
||||
- Compose Conv2D with other layers to build a simple ConvNet
|
||||
- (Stretch) Explore stride, padding, pooling, and multi-channel input
|
||||
```
|
||||
|
||||
## 🧠 Build → Use → Understand
|
||||
1. **Build**: Implement Conv2D from scratch (for-loop)
|
||||
|
||||
@@ -16,10 +16,13 @@ learning_objectives: ['Understand model size and deployment constraints in real
|
||||
|
||||
|
||||
|
||||
## Overview
|
||||
This module teaches students to make neural networks smaller, faster, and more efficient for real-world deployment. Students implement four core compression techniques and learn to balance accuracy with efficiency.
|
||||
## 📊 Module Info
|
||||
- **Difficulty**: ⭐⭐⭐⭐⭐ Expert
|
||||
- **Time Estimate**: 8-10 hours
|
||||
- **Prerequisites**: Networks, Training modules
|
||||
- **Next Steps**: Kernels, MLOps modules
|
||||
|
||||
## Learning Goals
|
||||
## 🎯 Learning Objectives
|
||||
- Understand model size and deployment constraints in real systems
|
||||
- Implement magnitude-based pruning to remove unimportant weights
|
||||
- Master quantization for 75% memory reduction (FP32 → INT8)
|
||||
@@ -27,6 +30,9 @@ This module teaches students to make neural networks smaller, faster, and more e
|
||||
- Create structured pruning to optimize network architectures
|
||||
- Compare compression techniques and their trade-offs
|
||||
|
||||
## 🧠 Overview
|
||||
This module teaches students to make neural networks smaller, faster, and more efficient for real-world deployment. Students implement four core compression techniques and learn to balance accuracy with efficiency.
|
||||
|
||||
## Educational Flow
|
||||
|
||||
### Step 1: Understanding Model Size
|
||||
|
||||
@@ -8,11 +8,7 @@
|
||||
|
||||
Welcome to TinyTorch! This is your first module in the Machine Learning Systems course.
|
||||
|
||||
## Overview
|
||||
|
||||
The setup module teaches you the complete TinyTorch development workflow while introducing fundamental programming concepts. You'll learn to write code with NBDev directives, implement classes and functions, and understand the module-to-package export system.
|
||||
|
||||
## Learning Goals
|
||||
## 🎯 Learning Objectives
|
||||
|
||||
- Understand the nbdev notebook-to-Python workflow
|
||||
- Write your first TinyTorch code with `#| export` directives
|
||||
@@ -20,15 +16,11 @@ The setup module teaches you the complete TinyTorch development workflow while i
|
||||
- Run tests and use the CLI tools
|
||||
- Get comfortable with the development rhythm
|
||||
|
||||
## Files
|
||||
## 🧠 Overview
|
||||
|
||||
- `setup_dev.py` - Main development file (Jupytext format with full educational content)
|
||||
- `setup_dev.ipynb` - Jupyter notebook version (auto-generated and executed)
|
||||
- `tinytorch_flame.txt` - ASCII art file containing the TinyTorch flame design
|
||||
- `tests/test_setup.py` - Comprehensive pytest test suite
|
||||
- `README.md` - This file
|
||||
The setup module teaches you the complete TinyTorch development workflow while introducing fundamental programming concepts. You'll learn to write code with NBDev directives, implement classes and functions, and understand the module-to-package export system.
|
||||
|
||||
## What You'll Implement
|
||||
## 📚 What You'll Build
|
||||
|
||||
### 1. Basic Functions
|
||||
- `hello_tinytorch()` - Display ASCII art and welcome message
|
||||
|
||||
@@ -1,23 +1,19 @@
|
||||
# 🔥 Module: CNN
|
||||
|
||||
```{admonition} 📊 Module Info
|
||||
:class: note
|
||||
## 📊 Module Info
|
||||
- **Difficulty**: ⭐⭐⭐ Advanced
|
||||
- **Time Estimate**: 6-8 hours
|
||||
- **Prerequisites**: Tensor, Activations, Layers, Networks modules
|
||||
- **Next Steps**: Training, Computer Vision modules
|
||||
|
||||
**Implement the core building block of modern computer vision: the convolutional layer.**
|
||||
```
|
||||
|
||||
```{admonition} 🎯 Learning Objectives
|
||||
:class: tip
|
||||
## 🎯 Learning Objectives
|
||||
- Understand the convolution operation (sliding window, local connectivity, weight sharing)
|
||||
- Implement Conv2D with explicit for-loops (single channel, single filter, no stride/pad)
|
||||
- Visualize how convolution builds feature maps
|
||||
- Compose Conv2D with other layers to build a simple ConvNet
|
||||
- (Stretch) Explore stride, padding, pooling, and multi-channel input
|
||||
```
|
||||
|
||||
## 🧠 Build → Use → Understand
|
||||
1. **Build**: Implement Conv2D from scratch (for-loop)
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
# 🔥 Module: Compression
|
||||
|
||||
## Overview
|
||||
This module teaches students to make neural networks smaller, faster, and more efficient for real-world deployment. Students implement four core compression techniques and learn to balance accuracy with efficiency.
|
||||
## 📊 Module Info
|
||||
- **Difficulty**: ⭐⭐⭐⭐⭐ Expert
|
||||
- **Time Estimate**: 8-10 hours
|
||||
- **Prerequisites**: Networks, Training modules
|
||||
- **Next Steps**: Kernels, MLOps modules
|
||||
|
||||
## Learning Goals
|
||||
## 🎯 Learning Objectives
|
||||
- Understand model size and deployment constraints in real systems
|
||||
- Implement magnitude-based pruning to remove unimportant weights
|
||||
- Master quantization for 75% memory reduction (FP32 → INT8)
|
||||
@@ -11,6 +14,9 @@ This module teaches students to make neural networks smaller, faster, and more e
|
||||
- Create structured pruning to optimize network architectures
|
||||
- Compare compression techniques and their trade-offs
|
||||
|
||||
## 🧠 Overview
|
||||
This module teaches students to make neural networks smaller, faster, and more efficient for real-world deployment. Students implement four core compression techniques and learn to balance accuracy with efficiency.
|
||||
|
||||
## Educational Flow
|
||||
|
||||
### Step 1: Understanding Model Size
|
||||
|
||||
Reference in New Issue
Block a user