mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-07-30 15:33:59 -05:00
Clean up book directory - remove duplicates and archive unused files
Removed duplicate content: - user-manual.md (17K) - duplicate of quickstart-guide.md - instructor-guide.md (12K) - duplicate of classroom-use.md - leaderboard.md (6K) - old Olympics content, superseded by community.md Archived development/reference files to docs/archive/book-development/: - THEME_DESIGN.md, convert_*.py, verify_build.py (build scripts) - faq.md, kiss-principle.md, vision.md (reference docs) - quick-exploration.md, serious-development.md (unused usage paths) Archived unused images to book/_static/archive/: - Gemini_Generated_Image_*.png (3 AI-generated images) Result: - 26% reduction in markdown files (39 → 29) - No duplication of content - Cleaner repository structure - All active files in TOC or properly referenced See docs/archive/book-development/CLEANUP_SUMMARY.md for details.
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 980 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 544 KiB |
@@ -1,483 +0,0 @@
|
||||
# 👨🏫 Instructor Guide: NBGrader + TinyTorch
|
||||
|
||||
<div style="background: #f0fff4; border: 1px solid #22c55e; padding: 1rem; border-radius: 0.5rem; margin: 1rem 0;">
|
||||
<strong>📖 Technical Setup & Workflow:</strong> This page provides step-by-step NBGrader setup and daily semester management.<br>
|
||||
<strong>📖 For Course Overview & Benefits:</strong> See <a href="usage-paths/classroom-use.html">TinyTorch for Instructors</a> for educational philosophy and course structure.
|
||||
</div>
|
||||
|
||||
**Complete workflow for instructors and TAs using TinyTorch with automated grading**
|
||||
|
||||
---
|
||||
|
||||
## 🎯 The Complete Instructor Journey
|
||||
|
||||
This guide walks you through everything you need to know to successfully run a TinyTorch course with automated grading, from initial setup to semester completion.
|
||||
|
||||
---
|
||||
|
||||
## 📋 Prerequisites
|
||||
|
||||
Before you begin, ensure you have:
|
||||
- **Python 3.8+** installed on your system
|
||||
- **Git** for version control
|
||||
- **Terminal/Command Line** access
|
||||
- **Basic familiarity** with Jupyter notebooks
|
||||
|
||||
**Time Investment:** ~30 minutes for initial setup, then 5-10 minutes per assignment
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Phase 1: Initial Setup (One-Time)
|
||||
|
||||
### Step 1: Clone and Setup Repository
|
||||
|
||||
```bash
|
||||
# Clone the TinyTorch repository
|
||||
git clone https://github.com/your-org/TinyTorch.git
|
||||
cd TinyTorch
|
||||
|
||||
# Create and activate virtual environment
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
||||
|
||||
# Install all dependencies
|
||||
pip install -r requirements.txt
|
||||
pip install nbgrader jupyter jupytext rich
|
||||
```
|
||||
|
||||
### Step 2: Verify Installation
|
||||
|
||||
```bash
|
||||
# Test that everything is working
|
||||
./bin/tito system doctor
|
||||
|
||||
# Expected output:
|
||||
# ✅ Python 3.x.x
|
||||
# ✅ Virtual environment active
|
||||
# ✅ All dependencies installed
|
||||
# ✅ TinyTorch CLI ready
|
||||
```
|
||||
|
||||
### Step 3: Initialize NBGrader Environment
|
||||
|
||||
```bash
|
||||
# Initialize the grading infrastructure
|
||||
./bin/tito nbgrader init
|
||||
|
||||
# Expected output:
|
||||
# ✅ NBGrader version: 0.9.5
|
||||
# 📁 Created directory: assignments
|
||||
# ✅ NBGrader database initialized
|
||||
# 🎉 NBGrader environment initialized successfully!
|
||||
```
|
||||
|
||||
### Step 4: Verify Complete Setup
|
||||
|
||||
```bash
|
||||
# Check system status
|
||||
./bin/tito module status --comprehensive
|
||||
|
||||
# Should show:
|
||||
# 🐍 Environment Health: All ✅ green
|
||||
# 📊 Module Status: Overview of 17 modules
|
||||
# 🎯 Priority Actions: Any setup issues to fix
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎓 Phase 2: Course Preparation
|
||||
|
||||
### Understanding the TinyTorch Module Structure
|
||||
|
||||
TinyTorch has **17 progressive modules**:
|
||||
|
||||
**Foundation (Modules 00-02):**
|
||||
- `00_introduction` - Visual system overview and dependencies
|
||||
- `01_setup` - Development environment and CLI workflow
|
||||
- `02_tensor` - Multi-dimensional arrays and operations
|
||||
|
||||
**Building Blocks (Modules 03-07):**
|
||||
- `03_activations` - Mathematical functions and nonlinearity
|
||||
- `04_layers` - Neural network layer abstractions
|
||||
- `05_dense` - Fully connected layers and matrix operations
|
||||
- `06_spatial` - Convolutional operations and computer vision
|
||||
- `07_attention` - Self-attention and transformer mechanisms
|
||||
|
||||
**Training Systems (Modules 08-11):**
|
||||
- `08_dataloader` - Data pipeline and CIFAR-10 integration
|
||||
- `09_autograd` - Automatic differentiation engine
|
||||
- `10_optimizers` - SGD, Adam, and learning rate scheduling
|
||||
- `11_training` - Training loops, loss functions, and metrics
|
||||
|
||||
**Production & Performance (Modules 12-16):**
|
||||
- `12_compression` - Model pruning and quantization
|
||||
- `13_kernels` - Custom operations and hardware optimization
|
||||
- `14_benchmarking` - MLPerf-style evaluation and profiling
|
||||
- `15_mlops` - Production deployment and monitoring
|
||||
- `16_capstone` - Final integration project
|
||||
|
||||
### Course Planning Recommendations
|
||||
|
||||
**📅 Semester Planning (14-16 weeks):**
|
||||
```
|
||||
Week 1: 00_introduction + 01_setup
|
||||
Week 2: 02_tensor
|
||||
Week 3: 03_activations
|
||||
Week 4: 04_layers
|
||||
Week 5: 05_dense
|
||||
Week 6: 06_spatial
|
||||
Week 7: 07_attention
|
||||
Week 8: Midterm / Review
|
||||
Week 9: 08_dataloader
|
||||
Week 10: 09_autograd
|
||||
Week 11: 10_optimizers
|
||||
Week 12: 11_training
|
||||
Week 13: 12_compression + 13_kernels
|
||||
Week 14: 14_benchmarking + 15_mlops
|
||||
Week 15: 16_capstone
|
||||
Week 16: Final presentations
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Phase 3: Assignment Management
|
||||
|
||||
### Creating Student Assignments
|
||||
|
||||
**For Individual Modules:**
|
||||
```bash
|
||||
# Generate assignment from TinyTorch module
|
||||
./bin/tito nbgrader generate 01_setup
|
||||
|
||||
# This creates:
|
||||
# assignments/source/01_setup/01_setup.ipynb (instructor version)
|
||||
```
|
||||
|
||||
**For Multiple Modules:**
|
||||
```bash
|
||||
# Generate first 4 modules
|
||||
./bin/tito nbgrader generate --range 01-04
|
||||
|
||||
# Or generate all modules at once (start of semester)
|
||||
./bin/tito nbgrader generate --all
|
||||
```
|
||||
|
||||
**What happens during generation:**
|
||||
1. Reads the module's `.py` file from `modules/source/XX_module/`
|
||||
2. Converts to Jupyter notebook using jupytext
|
||||
3. Processes with NBGrader to create student version
|
||||
4. Removes instructor solutions, adds `# YOUR CODE HERE` stubs
|
||||
5. Creates assignments in `assignments/source/XX_module/`
|
||||
|
||||
### Releasing Assignments to Students
|
||||
|
||||
```bash
|
||||
# Release individual assignment
|
||||
./bin/tito nbgrader release 01_setup
|
||||
|
||||
# Release multiple assignments
|
||||
./bin/tito nbgrader release --range 01-04
|
||||
|
||||
# This creates:
|
||||
# assignments/release/01_setup/01_setup.ipynb (student version)
|
||||
```
|
||||
|
||||
**Distribution to Students:**
|
||||
- Upload `assignments/release/XX_module/XX_module.ipynb` to your LMS
|
||||
- Or provide direct access to the `assignments/release/` directory
|
||||
- Students download and work on their local copies
|
||||
|
||||
### Monitoring Assignment Status
|
||||
|
||||
```bash
|
||||
# Check what assignments exist
|
||||
./bin/tito nbgrader status
|
||||
|
||||
# Example output:
|
||||
# 📚 Source assignments: 4
|
||||
# - 01_setup, 02_tensor, 03_activations, 04_layers
|
||||
# 🚀 Released assignments: 2
|
||||
# - 01_setup, 02_tensor
|
||||
# 📥 Submitted assignments: 1
|
||||
# - 01_setup
|
||||
# 🎯 Graded assignments: 0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Phase 4: Grading Workflow
|
||||
|
||||
### Collecting Student Submissions
|
||||
|
||||
**Manual Collection (Most Common):**
|
||||
```bash
|
||||
# Students submit via LMS, you download to:
|
||||
mkdir -p assignments/submitted/01_setup/student_name/
|
||||
# Place student notebooks in: assignments/submitted/01_setup/student_name/01_setup.ipynb
|
||||
```
|
||||
|
||||
**NBGrader Exchange (If Using Shared Server):**
|
||||
```bash
|
||||
# Collect all submissions for an assignment
|
||||
./bin/tito nbgrader collect 01_setup
|
||||
```
|
||||
|
||||
### Auto-Grading Process
|
||||
|
||||
```bash
|
||||
# Auto-grade specific assignment
|
||||
./bin/tito nbgrader autograde 01_setup
|
||||
|
||||
# Auto-grade all collected assignments
|
||||
./bin/tito nbgrader autograde --all
|
||||
|
||||
# What happens:
|
||||
# - Executes all student code
|
||||
# - Runs hidden test cells
|
||||
# - Checks assert statements
|
||||
# - Records pass/fail for each test
|
||||
# - Creates detailed grading reports
|
||||
```
|
||||
|
||||
### Generating Student Feedback
|
||||
|
||||
```bash
|
||||
# Generate feedback for specific assignment
|
||||
./bin/tito nbgrader feedback 01_setup
|
||||
|
||||
# Generate feedback for all assignments
|
||||
./bin/tito nbgrader feedback --all
|
||||
|
||||
# Creates:
|
||||
# assignments/feedback/01_setup/student_name/01_setup.html
|
||||
```
|
||||
|
||||
### Exporting Grades
|
||||
|
||||
```bash
|
||||
# Export grades to CSV
|
||||
./bin/tito nbgrader report --format csv
|
||||
|
||||
# Creates: grades.csv with all student scores
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Phase 5: Common Workflows
|
||||
|
||||
### Weekly Assignment Routine
|
||||
|
||||
```bash
|
||||
# Monday: Generate and release new assignment
|
||||
./bin/tito nbgrader generate 03_activations
|
||||
./bin/tito nbgrader release 03_activations
|
||||
|
||||
# Upload assignments/release/03_activations/03_activations.ipynb to LMS
|
||||
# Announce assignment to students
|
||||
|
||||
# Friday: Collect submissions and grade
|
||||
# (Download student submissions from LMS to assignments/submitted/)
|
||||
./bin/tito nbgrader autograde 03_activations
|
||||
./bin/tito nbgrader feedback 03_activations
|
||||
|
||||
# Monday: Return graded assignments and feedback to students
|
||||
```
|
||||
|
||||
### Mid-Semester Status Check
|
||||
|
||||
```bash
|
||||
# Comprehensive system status
|
||||
./bin/tito module status --comprehensive
|
||||
|
||||
# Assignment analytics
|
||||
./bin/tito nbgrader analytics 03_activations
|
||||
|
||||
# Export current gradebook
|
||||
./bin/tito nbgrader report --format csv
|
||||
```
|
||||
|
||||
### End-of-Semester Workflow
|
||||
|
||||
```bash
|
||||
# Generate final gradebook
|
||||
./bin/tito nbgrader report --format csv
|
||||
|
||||
# Archive all assignments and submissions
|
||||
tar -czf course_archive_fall2024.tar.gz assignments/ gradebook.db
|
||||
|
||||
# Clean up for next semester
|
||||
./bin/tito clean
|
||||
./bin/tito nbgrader init # Fresh start
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Phase 6: Troubleshooting & Tips
|
||||
|
||||
### Common Issues
|
||||
|
||||
**"Module not found" when generating:**
|
||||
```bash
|
||||
# Check available modules
|
||||
ls modules/source/
|
||||
|
||||
# Use exact directory name
|
||||
./bin/tito nbgrader generate 02_tensor # Not just "tensor"
|
||||
```
|
||||
|
||||
**"NBGrader validation failed":**
|
||||
```bash
|
||||
# This is expected for student notebooks (they have unimplemented functions)
|
||||
# Validation failure = students need to implement the code
|
||||
```
|
||||
|
||||
**Environment issues:**
|
||||
```bash
|
||||
# Always activate virtual environment first
|
||||
source .venv/bin/activate
|
||||
|
||||
# Check environment health
|
||||
./bin/tito system doctor
|
||||
```
|
||||
|
||||
### Best Practices
|
||||
|
||||
**📋 Assignment Preparation:**
|
||||
- Generate all assignments at start of semester
|
||||
- Test each assignment yourself before releasing
|
||||
- Provide clear due dates and submission instructions
|
||||
|
||||
**⏰ Grading Efficiency:**
|
||||
- Set up consistent folder structure for submissions
|
||||
- Use batch grading commands (`--all` flags)
|
||||
- Review auto-graded results before finalizing
|
||||
|
||||
**💡 Student Support:**
|
||||
- Share `./bin/tito module status` command with students
|
||||
- Encourage testing with provided test functions
|
||||
- Provide clear error message interpretation
|
||||
|
||||
### Advanced Configuration
|
||||
|
||||
**Customize point values in `nbgrader_config.py`:**
|
||||
```python
|
||||
# Adjust timeout for long-running assignments
|
||||
c.ExecutePreprocessor.timeout = 300 # 5 minutes per cell
|
||||
|
||||
# Customize solution stubs
|
||||
c.ClearSolutions.code_stub = {
|
||||
"python": "# YOUR IMPLEMENTATION HERE\nraise NotImplementedError()"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Phase 7: Student Guidance
|
||||
|
||||
### What to Tell Your Students
|
||||
|
||||
**Setup Instructions for Students:**
|
||||
```bash
|
||||
# Students should run:
|
||||
git clone [your-course-repo]
|
||||
cd TinyTorch
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Test their setup:
|
||||
./bin/tito system doctor
|
||||
```
|
||||
|
||||
**Working on Assignments:**
|
||||
```markdown
|
||||
1. Download the assignment notebook from [LMS]
|
||||
2. Open in Jupyter: `jupyter lab assignment.ipynb`
|
||||
3. Look for `# YOUR CODE HERE` markers
|
||||
4. Implement the required functions
|
||||
5. Test your work with provided test cells
|
||||
6. Submit the completed notebook
|
||||
```
|
||||
|
||||
**Debugging Help:**
|
||||
```bash
|
||||
# Students can check their module status
|
||||
./bin/tito module status
|
||||
|
||||
# Get help with specific modules
|
||||
./bin/tito module info 02_tensor
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Quick Reference Commands
|
||||
|
||||
### Essential Daily Commands
|
||||
```bash
|
||||
# Check overall system status
|
||||
./bin/tito module status --comprehensive
|
||||
|
||||
# Assignment lifecycle
|
||||
./bin/tito nbgrader generate MODULE_NAME
|
||||
./bin/tito nbgrader release MODULE_NAME
|
||||
./bin/tito nbgrader autograde MODULE_NAME
|
||||
./bin/tito nbgrader feedback MODULE_NAME
|
||||
|
||||
# Monitor progress
|
||||
./bin/tito nbgrader status
|
||||
./bin/tito nbgrader analytics MODULE_NAME
|
||||
```
|
||||
|
||||
### Batch Operations
|
||||
```bash
|
||||
# Work with multiple modules
|
||||
./bin/tito nbgrader generate --range 01-04
|
||||
./bin/tito nbgrader release --all
|
||||
./bin/tito nbgrader autograde --all
|
||||
./bin/tito nbgrader feedback --all
|
||||
```
|
||||
|
||||
### System Maintenance
|
||||
```bash
|
||||
# Environment health
|
||||
./bin/tito system doctor
|
||||
|
||||
# Clean temporary files
|
||||
./bin/tito clean
|
||||
|
||||
# Export final grades
|
||||
./bin/tito nbgrader report --format csv
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 Getting Help
|
||||
|
||||
**If you encounter issues:**
|
||||
|
||||
1. **Check system status**: `./bin/tito system doctor`
|
||||
2. **Review logs**: Check output messages for specific errors
|
||||
3. **Consult documentation**: This guide covers 95% of common scenarios
|
||||
4. **Community support**: [GitHub Issues](https://github.com/your-org/TinyTorch/issues)
|
||||
|
||||
**For urgent instructor support:**
|
||||
- Create detailed issue with error messages
|
||||
- Include output of `./bin/tito module status --comprehensive`
|
||||
- Specify which assignment and step is failing
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Success Metrics
|
||||
|
||||
**You'll know you're successful when:**
|
||||
- ✅ Students can download and run assignments without setup issues
|
||||
- ✅ Auto-grading provides consistent, fair evaluation
|
||||
- ✅ Weekly assignment workflow takes <10 minutes
|
||||
- ✅ Students build a complete ML framework by semester end
|
||||
- ✅ You have detailed analytics on student progress and common issues
|
||||
|
||||
**Ready to run the most comprehensive ML systems course your students will ever take!** 🚀
|
||||
|
||||
---
|
||||
|
||||
*This guide covers the complete instructor journey from setup to course completion. For specific technical details, see the individual command documentation with `./bin/tito --help`.*
|
||||
@@ -1,233 +0,0 @@
|
||||
# 🏆 Leaderboard
|
||||
|
||||
**Compete. Optimize. Rank.**
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Competition Rankings
|
||||
|
||||
The TinyTorch Olympics Leaderboard showcases the top-performing systems from students who have completed the capstone challenge. Rankings are updated in real-time as new submissions are evaluated.
|
||||
|
||||
<div style="background: #f8f9fa; border: 1px solid #dee2e6; padding: 2rem; border-radius: 0.5rem; text-align: center; margin: 2rem 0;">
|
||||
<h2 style="margin: 0 0 1rem 0; color: #495057;">Live Leaderboard (Coming Soon)</h2>
|
||||
<p style="margin: 0; color: #6c757d;">Competition rankings will be displayed here after Module 20 infrastructure is deployed</p>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 📊 Current Competition Categories
|
||||
|
||||
### ⚡ Speed Demon
|
||||
**Fastest inference on standard hardware**
|
||||
- Metric: Inferences per second
|
||||
- Minimum accuracy: ≥90%
|
||||
- Focus: Computational optimization
|
||||
|
||||
### 💾 Memory Miser
|
||||
**Smallest memory footprint**
|
||||
- Metric: Peak memory usage (MB)
|
||||
- Minimum accuracy: ≥85%
|
||||
- Focus: Efficient architectures
|
||||
|
||||
### 📱 Edge Expert
|
||||
**Best performance on constrained hardware**
|
||||
- Metric: Composite score
|
||||
- Platform: Raspberry Pi 4B
|
||||
- Focus: Complete optimization
|
||||
|
||||
### 🔋 Energy Efficient
|
||||
**Lowest power consumption**
|
||||
- Metric: Energy per inference (joules)
|
||||
- Focus: Algorithm efficiency
|
||||
|
||||
### 🏃♂️ TinyMLPerf
|
||||
**MLPerf-style benchmark suite**
|
||||
- Metric: Standardized benchmarks
|
||||
- Focus: Production readiness
|
||||
|
||||
---
|
||||
|
||||
## 🏅 How to Compete
|
||||
|
||||
### 1. Complete Prerequisites
|
||||
```bash
|
||||
# Finish all required modules
|
||||
tito checkpoint status
|
||||
|
||||
# Verify you're ready for capstone
|
||||
tito module test 20
|
||||
```
|
||||
|
||||
### 2. Submit Your Model
|
||||
```bash
|
||||
# Register for competition
|
||||
tito olympics register
|
||||
|
||||
# Submit baseline
|
||||
tito olympics submit --baseline
|
||||
|
||||
# After optimization, submit final
|
||||
tito olympics submit --final
|
||||
```
|
||||
|
||||
### 3. View Rankings
|
||||
```bash
|
||||
# Check your scores
|
||||
tito olympics scores
|
||||
|
||||
# View full leaderboard
|
||||
tito olympics leaderboard
|
||||
|
||||
# Generate report
|
||||
tito olympics report --format pdf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Scoring System
|
||||
|
||||
### Primary Ranking
|
||||
- **Category-specific metric**: Speed, memory, energy, etc.
|
||||
- **Accuracy threshold**: Must meet minimum to qualify
|
||||
- **Tie-breaker**: Higher accuracy wins
|
||||
|
||||
### Bonus Recognition
|
||||
- **🚀 Innovation Award**: Novel optimization techniques
|
||||
- **📚 Teaching Award**: Best documented approach
|
||||
- **🎯 First Blood**: First to beat instructor baseline
|
||||
|
||||
### Overall Champion
|
||||
- Best combined performance across ≥3 categories
|
||||
- Weighted by difficulty of optimization
|
||||
- Special recognition and portfolio artifact
|
||||
|
||||
---
|
||||
|
||||
## 📈 Sample Leaderboard
|
||||
|
||||
### ⚡ Speed Demon Category
|
||||
|
||||
| Rank | Student | Inf/sec | Accuracy | Optimization |
|
||||
|------|---------|---------|----------|--------------|
|
||||
| 🥇 | alice_chen | 847.3 | 95.2% | Vectorization + caching |
|
||||
| 🥈 | bob_smith | 612.7 | 94.8% | Custom kernels |
|
||||
| 🥉 | carol_wong | 588.1 | 96.1% | Batch optimization |
|
||||
| 4 | dave_kim | 542.9 | 93.7% | Parallel processing |
|
||||
| 5 | eve_patel | 501.2 | 94.1% | Memory layout |
|
||||
|
||||
### 💾 Memory Miser Category
|
||||
|
||||
| Rank | Student | Memory (MB) | Accuracy | Optimization |
|
||||
|------|---------|-------------|----------|--------------|
|
||||
| 🥇 | dave_kim | 12.4 | 91.7% | INT8 quantization |
|
||||
| 🥈 | eve_patel | 15.8 | 93.2% | Weight pruning |
|
||||
| 🥉 | frank_liu | 18.2 | 89.9% | Compressed format |
|
||||
| 4 | grace_lee | 21.5 | 92.4% | Activation sharing |
|
||||
| 5 | henry_zhao | 24.1 | 90.8% | Efficient layers |
|
||||
|
||||
---
|
||||
|
||||
## 🌟 Hall of Fame
|
||||
|
||||
### Semester Champions
|
||||
|
||||
**Spring 2024**
|
||||
- 🏆 Overall: Jordan Lee (95.2 composite score)
|
||||
- ⚡ Speed: Alice Chen (847.3 inf/sec)
|
||||
- 💾 Memory: Dave Kim (12.4 MB)
|
||||
- 📱 Edge: Grace Lee (94.5 score)
|
||||
|
||||
**Fall 2023**
|
||||
- 🏆 Overall: Sam Park (93.8 composite score)
|
||||
- ⚡ Speed: Morgan Smith (812.1 inf/sec)
|
||||
- 💾 Memory: Alex Wong (13.2 MB)
|
||||
- 📱 Edge: Taylor Brown (92.7 score)
|
||||
|
||||
---
|
||||
|
||||
## 🎓 What Leaderboard Performance Shows
|
||||
|
||||
### To Potential Employers
|
||||
- **Systems engineering skills**: You can optimize real systems
|
||||
- **Competitive performance**: You can achieve results under constraints
|
||||
- **Technical depth**: You understand performance trade-offs
|
||||
- **Quantifiable achievements**: Clear metrics of capability
|
||||
|
||||
### Portfolio Impact
|
||||
|
||||
**Strong statement:**
|
||||
> "Ranked #2 in Memory Efficiency in TinyTorch Olympics (Fall 2024), achieving 13.8 MB footprint with 92.1% accuracy through quantization and pruning techniques."
|
||||
|
||||
**Hiring managers recognize:**
|
||||
- Competitive achievement (leaderboard ranking)
|
||||
- Technical specificity (quantization, pruning)
|
||||
- Quantitative results (13.8 MB, 92.1% accuracy)
|
||||
- Systems thinking (memory vs. accuracy trade-offs)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Getting Started
|
||||
|
||||
### Ready to Compete?
|
||||
|
||||
1. **Complete Module 20** (Capstone)
|
||||
2. **Optimize your system** using modules 14-19
|
||||
3. **Submit your model** for evaluation
|
||||
4. **See your ranking** on the leaderboard
|
||||
|
||||
```bash
|
||||
# Start your Olympic journey
|
||||
tito olympics register
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📅 Competition Timeline
|
||||
|
||||
### Ongoing Submissions
|
||||
- Leaderboard accepts submissions year-round
|
||||
- Rankings update in real-time
|
||||
- Semester champions crowned at end of term
|
||||
|
||||
### Seasonal Events
|
||||
- **Mid-semester sprint**: Early optimization challenge
|
||||
- **Final week rush**: Last chance to climb rankings
|
||||
- **Victory ceremony**: Recognition of top performers
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Fair Competition
|
||||
|
||||
### Rules & Guidelines
|
||||
|
||||
**Allowed:**
|
||||
- Any technique from modules 1-19
|
||||
- Custom implementations within TinyTorch
|
||||
- Novel optimization strategies
|
||||
- Hardware-specific optimizations
|
||||
|
||||
**Not Allowed:**
|
||||
- External ML frameworks (PyTorch, etc.)
|
||||
- Pre-trained external models
|
||||
- Hardcoded test outputs
|
||||
- Breaking API contracts
|
||||
|
||||
**Verification:**
|
||||
- All submissions automatically validated
|
||||
- Code review for top 10 in each category
|
||||
- Reproducibility required
|
||||
- Fair hardware access provided
|
||||
|
||||
---
|
||||
|
||||
<div style="background: #e8f4fd; border: 2px solid #1976d2; padding: 2rem; border-radius: 0.5rem; margin: 2rem 0; text-align: center;">
|
||||
<h3 style="margin: 0 0 1rem 0; color: #1976d2;">🏆 Join the Competition</h3>
|
||||
<p style="margin: 0 0 1rem 0; color: #424242;">Complete Module 20 and submit your optimized system</p>
|
||||
<p style="margin: 0; color: #424242;"><strong>Prove your systems engineering skills. See how you rank.</strong></p>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
**The leaderboard doesn't lie. Your optimization skills speak for themselves.**
|
||||
|
||||
*Ready to compete?* → Complete [Module 20: Capstone](chapters/20-capstone.md)
|
||||
@@ -1,646 +0,0 @@
|
||||
# TinyTorch User Manual
|
||||
|
||||
## Welcome to Your ML Systems Engineering Journey
|
||||
|
||||
This comprehensive user manual will guide you from installation to mastery, whether you're spending 15 minutes exploring or 15 weeks building complete systems.
|
||||
|
||||
## 🧭 Navigation Guide
|
||||
|
||||
### **For New Users**
|
||||
- **[🚀 Quick Start](#quick-start)** - Get running in 5 minutes
|
||||
- **[🎯 Choose Your Path](#learning-paths)** - Find your ideal learning journey
|
||||
- **[📱 First Commands](#essential-commands)** - Master the basics
|
||||
|
||||
### **For Active Learners**
|
||||
- **[📚 Module Guide](#module-system)** - Understand the learning structure
|
||||
- **[✅ Checkpoint System](#checkpoint-system)** - Track and validate progress
|
||||
- **[🌍 Community Features](#community-features)** - Connect with fellow learners
|
||||
|
||||
### **For Instructors**
|
||||
- **[🎓 Teaching Guide](#instructor-resources)** - Classroom setup and management
|
||||
- **[📊 Progress Tracking](#student-progress)** - Monitor student achievements
|
||||
- **[📝 Grading System](#nbgrader-integration)** - Automated assessment workflow
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### **Installation (3 minutes)**
|
||||
|
||||
```bash
|
||||
# 1. Clone repository
|
||||
git clone https://github.com/mlsysbook/TinyTorch.git
|
||||
cd TinyTorch
|
||||
|
||||
# 2. Setup environment
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
||||
|
||||
# 3. Install dependencies
|
||||
pip install -r requirements.txt
|
||||
pip install -e .
|
||||
|
||||
# 4. Verify installation
|
||||
tito system doctor
|
||||
```
|
||||
|
||||
### **First Experience (2 minutes)**
|
||||
|
||||
```bash
|
||||
# See what you'll build
|
||||
tito demo quick
|
||||
|
||||
# Check your learning path
|
||||
tito checkpoint status
|
||||
|
||||
# Start your journey
|
||||
tito help --interactive
|
||||
```
|
||||
|
||||
**✅ Success Indicators:**
|
||||
- `tito system doctor` shows all green checkmarks
|
||||
- `tito checkpoint status` displays 21 learning checkpoints
|
||||
- `tito demo quick` runs without errors
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Learning Paths
|
||||
|
||||
Choose your journey based on your goals and available time:
|
||||
|
||||
### 🔬 **Explorer Path** (15 minutes - 2 hours)
|
||||
**Goal**: Understand what TinyTorch is and see it in action
|
||||
|
||||
```bash
|
||||
# Quick demonstration
|
||||
tito demo quick
|
||||
|
||||
# See the big picture
|
||||
tito checkpoint timeline --horizontal
|
||||
|
||||
# Try building something small
|
||||
cd modules/source/01_setup
|
||||
jupyter lab setup_dev.py
|
||||
```
|
||||
|
||||
**You'll Experience:**
|
||||
- How neural networks work at the code level
|
||||
- What building ML systems from scratch looks like
|
||||
- Whether you want to go deeper
|
||||
|
||||
---
|
||||
|
||||
### 🎯 **Builder Path** (Weekend - 4 weeks)
|
||||
**Goal**: Build substantial ML components and understand systems
|
||||
|
||||
```bash
|
||||
# Start structured learning
|
||||
tito checkpoint status
|
||||
cd modules/source/01_setup
|
||||
|
||||
# Work through foundation modules
|
||||
# Complete 1-2 modules per session
|
||||
# Goal: Build working neural network (Modules 1-6)
|
||||
```
|
||||
|
||||
**Milestones:**
|
||||
- **Week 1**: Tensors and basic operations (Modules 1-2)
|
||||
- **Week 2**: Neural network components (Modules 3-5)
|
||||
- **Week 3**: Training systems (Modules 6-8)
|
||||
- **Week 4**: First real project - CIFAR-10 CNN
|
||||
|
||||
---
|
||||
|
||||
### 🚀 **Engineer Path** (8-12 weeks)
|
||||
**Goal**: Complete framework capable of modern ML applications
|
||||
|
||||
```bash
|
||||
# Full curriculum with community participation
|
||||
tito leaderboard join
|
||||
tito checkpoint status
|
||||
|
||||
# Systematic progression through all modules
|
||||
# Regular community engagement
|
||||
# Optimization and competition participation
|
||||
```
|
||||
|
||||
**Journey Stages:**
|
||||
1. **Foundation** (Weeks 1-4): Neural networks from scratch
|
||||
2. **Architecture** (Weeks 5-7): Computer vision and language models
|
||||
3. **Training** (Weeks 8-10): Complete training systems
|
||||
4. **Optimization** (Weeks 11-12): Performance and deployment
|
||||
5. **Mastery** (Ongoing): TinyMLPerf competition and community
|
||||
|
||||
---
|
||||
|
||||
### 🎓 **Instructor Path**
|
||||
**Goal**: Teach TinyTorch to students with full classroom support
|
||||
|
||||
```bash
|
||||
# Instructor setup
|
||||
tito nbgrader setup-instructor
|
||||
tito grade setup-course
|
||||
|
||||
# Student progress tracking
|
||||
tito leaderboard instructor-dashboard
|
||||
```
|
||||
|
||||
**Resources:**
|
||||
- **[Classroom Setup Guide](usage-paths/classroom-use.html)** - Complete NBGrader workflow
|
||||
- **[Student Progress Tracking](#student-progress)** - Monitor achievements
|
||||
- **[Assessment Resources](#instructor-resources)** - Grading and feedback tools
|
||||
|
||||
---
|
||||
|
||||
## 📱 Essential Commands
|
||||
|
||||
### **Daily Learning Workflow**
|
||||
|
||||
```bash
|
||||
# Check your progress
|
||||
tito checkpoint status
|
||||
|
||||
# Work on current module
|
||||
cd modules/source/0X_module_name
|
||||
jupyter lab module_name_dev.py
|
||||
|
||||
# Complete module when done
|
||||
tito module complete 0X_module_name
|
||||
|
||||
# Celebrate achievement
|
||||
tito checkpoint test XX
|
||||
```
|
||||
|
||||
### **Getting Help**
|
||||
|
||||
```bash
|
||||
# Interactive guidance
|
||||
tito help --interactive
|
||||
|
||||
# Quick reference
|
||||
tito help --quick
|
||||
|
||||
# Specific help topics
|
||||
tito help getting-started
|
||||
tito help workflow
|
||||
tito help troubleshooting
|
||||
```
|
||||
|
||||
### **Community Engagement**
|
||||
|
||||
```bash
|
||||
# Join the global community
|
||||
tito leaderboard join
|
||||
|
||||
# Submit your progress
|
||||
tito leaderboard submit
|
||||
|
||||
# See your ranking
|
||||
tito leaderboard status
|
||||
|
||||
# Compete in Olympics
|
||||
tito olympics register
|
||||
```
|
||||
|
||||
### **System Management**
|
||||
|
||||
```bash
|
||||
# Check system health
|
||||
tito system doctor
|
||||
|
||||
# Clean up generated files
|
||||
tito clean all
|
||||
|
||||
# Reset progress (careful!)
|
||||
tito reset --confirm
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Module System
|
||||
|
||||
### **Understanding the Structure**
|
||||
|
||||
TinyTorch organizes learning into **20 progressive modules**, each building essential ML systems capabilities:
|
||||
|
||||
```
|
||||
modules/source/
|
||||
├── 01_setup/ 📦 Development environment
|
||||
├── 02_tensor/ 🔢 N-dimensional arrays + operations
|
||||
├── 03_activations/ 📈 ReLU, Sigmoid, Softmax
|
||||
├── 04_layers/ 🧱 Linear layers + parameters
|
||||
├── 05_losses/ 📉 CrossEntropy, MSE + gradients
|
||||
├── 06_autograd/ 🔄 Automatic differentiation
|
||||
├── 07_optimizers/ 📊 SGD, Adam + learning schedules
|
||||
├── 08_training/ 🎯 Complete training loops
|
||||
├── 09_spatial/ 🖼️ Conv2d, MaxPool2d + CNNs
|
||||
├── 10_dataloader/ 📂 Efficient data pipelines
|
||||
├── 11_tokenization/ 📝 Text processing + vocabularies
|
||||
├── 12_embeddings/ 🎭 Token + positional embeddings
|
||||
├── 13_attention/ 👁️ Multi-head attention
|
||||
├── 14_transformers/ 🤖 Complete transformer blocks
|
||||
├── 15_profiling/ 🔍 Performance analysis
|
||||
├── 16_acceleration/ ⚡ Hardware optimization
|
||||
├── 17_quantization/ 📦 Model compression
|
||||
├── 18_compression/ 🗜️ Pruning + distillation
|
||||
├── 19_caching/ 💾 Memory optimization
|
||||
└── 20_capstone/ 🏆 Complete ML systems
|
||||
```
|
||||
|
||||
### **Module Workflow**
|
||||
|
||||
Each module follows the proven **Build → Use → Reflect** pattern:
|
||||
|
||||
#### **1. Build Implementation**
|
||||
```python
|
||||
# In module_name_dev.py
|
||||
def your_implementation():
|
||||
"""Build component from scratch using only NumPy."""
|
||||
return result
|
||||
```
|
||||
|
||||
#### **2. Use Immediately**
|
||||
```python
|
||||
# Test your implementation
|
||||
from tinytorch.core.module_name import YourComponent
|
||||
component = YourComponent()
|
||||
result = component(data)
|
||||
```
|
||||
|
||||
#### **3. Reflect on Systems**
|
||||
- **Memory Analysis**: How much RAM does this use?
|
||||
- **Performance Profile**: Where are the bottlenecks?
|
||||
- **Scaling Behavior**: What breaks with larger inputs?
|
||||
- **Production Context**: How do real systems handle this?
|
||||
|
||||
#### **4. Export and Validate**
|
||||
```bash
|
||||
# Export your implementation to the framework
|
||||
tito module complete 0X_module_name
|
||||
|
||||
# Automatically runs checkpoint test
|
||||
# Celebrates achievement
|
||||
# Shows next steps
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Checkpoint System
|
||||
|
||||
### **16 Capability Checkpoints**
|
||||
|
||||
The checkpoint system validates your learning through **capability-based assessment**:
|
||||
|
||||
```bash
|
||||
# See all checkpoints
|
||||
tito checkpoint timeline
|
||||
|
||||
# Check current progress
|
||||
tito checkpoint status
|
||||
|
||||
# Test specific capability
|
||||
tito checkpoint test 05
|
||||
```
|
||||
|
||||
### **Checkpoint Progression**
|
||||
|
||||
| Checkpoint | Capability Question | Prerequisites |
|
||||
|------------|-------------------|---------------|
|
||||
| 00 | Can I configure my development environment? | Setup complete |
|
||||
| 01 | Can I create and manipulate ML building blocks? | Module 02 |
|
||||
| 02 | Can I add nonlinearity for intelligence? | Module 03 |
|
||||
| 03 | Can I build neural network components? | Module 04 |
|
||||
| 04 | Can I build complete multi-layer networks? | Module 05 |
|
||||
| 05 | Can I process spatial data with convolutions? | Module 09 |
|
||||
| 06 | Can I build attention mechanisms? | Module 13 |
|
||||
| 07 | Can I stabilize training with normalization? | Module 08 |
|
||||
| 08 | Can I compute gradients automatically? | Module 06 |
|
||||
| 09 | Can I optimize with sophisticated algorithms? | Module 07 |
|
||||
| 10 | Can I build complete training loops? | Module 08 |
|
||||
| 11 | Can I prevent overfitting? | Module 11 |
|
||||
| 12 | Can I implement high-performance kernels? | Module 16 |
|
||||
| 13 | Can I analyze and optimize performance? | Module 15 |
|
||||
| 14 | Can I deploy ML systems in production? | Module 20 |
|
||||
| 15 | Can I build complete end-to-end systems? | Capstone |
|
||||
|
||||
### **Checkpoint Achievement Flow**
|
||||
|
||||
```bash
|
||||
# Automatic flow when completing modules
|
||||
tito module complete 02_tensor
|
||||
# ↓ Automatically triggers
|
||||
# ↓ Export to tinytorch package
|
||||
# ↓ Run checkpoint_01_foundation test
|
||||
# ↓ Show achievement celebration
|
||||
# ↓ Display next steps
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🌍 Community Features
|
||||
|
||||
### **Global Learning Community**
|
||||
|
||||
Join thousands of learners worldwide building ML systems:
|
||||
|
||||
```bash
|
||||
# Join the community
|
||||
tito leaderboard join
|
||||
|
||||
# Submit your progress
|
||||
tito leaderboard submit
|
||||
|
||||
# See global rankings
|
||||
tito leaderboard view
|
||||
```
|
||||
|
||||
### **Leaderboard Categories**
|
||||
|
||||
**🏃♂️ Progress Leaderboard**
|
||||
- **Checkpoint completion**: How many capabilities achieved?
|
||||
- **Module completion**: Which modules finished?
|
||||
- **Achievement dates**: When did you reach milestones?
|
||||
|
||||
**🏆 Performance Olympics**
|
||||
- **Speed competitions**: Fastest training times
|
||||
- **Memory challenges**: Most memory-efficient implementations
|
||||
- **Accuracy contests**: Highest model performance
|
||||
- **Innovation showcases**: Novel optimization techniques
|
||||
|
||||
### **Community Interaction**
|
||||
|
||||
```bash
|
||||
# See your community profile
|
||||
tito leaderboard profile
|
||||
|
||||
# View achievement feed
|
||||
tito leaderboard feed
|
||||
|
||||
# Join competitions
|
||||
tito olympics register --event cnn_marathon
|
||||
|
||||
# Share achievements
|
||||
tito leaderboard share --milestone "First neural network!"
|
||||
```
|
||||
|
||||
### **Privacy and Inclusion**
|
||||
|
||||
- **Pseudonymous participation**: Choose your display name
|
||||
- **Inclusive categories**: Multiple ways to excel and contribute
|
||||
- **Supportive community**: Celebration of all learning achievements
|
||||
- **Privacy controls**: Share what you're comfortable sharing
|
||||
|
||||
---
|
||||
|
||||
## 🎓 Instructor Resources
|
||||
|
||||
### **Classroom Setup**
|
||||
|
||||
Complete NBGrader integration for seamless course management:
|
||||
|
||||
```bash
|
||||
# Initial instructor setup
|
||||
tito nbgrader setup-instructor
|
||||
tito grade setup-course
|
||||
|
||||
# Student workspace preparation
|
||||
tito nbgrader create-student-repos
|
||||
```
|
||||
|
||||
### **Student Progress Tracking**
|
||||
|
||||
```bash
|
||||
# Class overview
|
||||
tito grade class-overview
|
||||
|
||||
# Individual student progress
|
||||
tito grade student-progress <student_name>
|
||||
|
||||
# Checkpoint completion rates
|
||||
tito checkpoint class-stats
|
||||
```
|
||||
|
||||
### **Assignment Management**
|
||||
|
||||
```bash
|
||||
# Release new module
|
||||
tito nbgrader release 05_losses
|
||||
|
||||
# Collect submissions
|
||||
tito nbgrader collect 05_losses
|
||||
|
||||
# Auto-grade submissions
|
||||
tito nbgrader autograde 05_losses
|
||||
|
||||
# Manual grading interface
|
||||
tito nbgrader formgrade 05_losses
|
||||
```
|
||||
|
||||
### **Course Customization**
|
||||
|
||||
**Semester Planning:**
|
||||
- **8-week intensive**: Modules 1-12 (foundations + one specialization)
|
||||
- **16-week comprehensive**: All 20 modules with optimization
|
||||
- **4-week bootcamp**: Modules 1-8 (neural network foundations)
|
||||
|
||||
**Difficulty Adjustment:**
|
||||
- **Beginner**: Extended explanations and scaffolding
|
||||
- **Advanced**: Additional optimization challenges
|
||||
- **Research**: Custom project integration
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Troubleshooting Guide
|
||||
|
||||
### **Common Issues and Solutions**
|
||||
|
||||
#### **Installation Problems**
|
||||
|
||||
**Issue**: `tito: command not found`
|
||||
```bash
|
||||
# Solution: Ensure virtual environment is activated
|
||||
source .venv/bin/activate # or .venv\Scripts\activate on Windows
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
**Issue**: Import errors in modules
|
||||
```bash
|
||||
# Solution: Check system health
|
||||
tito system doctor
|
||||
|
||||
# Fix common issues
|
||||
pip install -r requirements.txt --force-reinstall
|
||||
```
|
||||
|
||||
#### **Module Development Issues**
|
||||
|
||||
**Issue**: Notebook won't open
|
||||
```bash
|
||||
# Solution: Check Jupyter installation
|
||||
pip install jupyter jupyterlab
|
||||
jupyter lab --version
|
||||
```
|
||||
|
||||
**Issue**: Tests failing after implementation
|
||||
```bash
|
||||
# Solution: Debug with verbose output
|
||||
tito checkpoint test 03 --verbose
|
||||
|
||||
# Check implementation against expected interface
|
||||
python modules/source/03_activations/activations_dev.py
|
||||
```
|
||||
|
||||
#### **Export and Integration Issues**
|
||||
|
||||
**Issue**: `tito module complete` fails
|
||||
```bash
|
||||
# Solution: Check module structure
|
||||
tito module validate 05_losses
|
||||
|
||||
# Fix export directives
|
||||
# Ensure #| default_exp tinytorch.core.losses at top of file
|
||||
```
|
||||
|
||||
**Issue**: Checkpoint tests fail after export
|
||||
```bash
|
||||
# Solution: Check package imports
|
||||
python -c "from tinytorch.core.losses import CrossEntropyLoss; print('Success')"
|
||||
|
||||
# Reinstall in development mode
|
||||
pip install -e . --force-reinstall
|
||||
```
|
||||
|
||||
### **Getting More Help**
|
||||
|
||||
1. **Interactive CLI Help**: `tito help --interactive`
|
||||
2. **System Diagnostics**: `tito system doctor`
|
||||
3. **Community Support**: Join the leaderboard for peer help
|
||||
4. **Documentation**: Check module README files
|
||||
5. **Instructor Support**: Contact course staff through established channels
|
||||
|
||||
---
|
||||
|
||||
## 📊 Frequently Asked Questions
|
||||
|
||||
### **Learning Questions**
|
||||
|
||||
**Q: How long does it take to complete TinyTorch?**
|
||||
A: Depends on your goals:
|
||||
- **Quick exploration**: 15 minutes - 2 hours
|
||||
- **Weekend project**: Build neural networks (8-12 hours)
|
||||
- **Complete journey**: 8-12 weeks for full framework
|
||||
- **Instructor preparation**: 2-3 weeks for course setup
|
||||
|
||||
**Q: Do I need ML experience to start?**
|
||||
A: No! TinyTorch teaches ML systems from fundamentals. You need:
|
||||
- Basic Python programming (functions, classes)
|
||||
- High school math (matrix multiplication)
|
||||
- Curiosity about how things work internally
|
||||
|
||||
**Q: How is this different from PyTorch tutorials?**
|
||||
A: PyTorch teaches you to USE frameworks. TinyTorch teaches you to BUILD them:
|
||||
- **PyTorch**: `torch.nn.Linear(784, 128)` (black box)
|
||||
- **TinyTorch**: You implement every line of Linear layer
|
||||
- **Result**: Deep understanding of how frameworks actually work
|
||||
|
||||
### **Technical Questions**
|
||||
|
||||
**Q: What's the difference between modules and checkpoints?**
|
||||
A:
|
||||
- **Modules**: 20 hands-on coding sessions where you build components
|
||||
- **Checkpoints**: 16 capability tests that validate your learning
|
||||
- **Relationship**: Modules provide code, checkpoints verify understanding
|
||||
|
||||
**Q: Can I skip modules or do them out of order?**
|
||||
A: No, the progression is carefully designed:
|
||||
- Each module builds on previous ones
|
||||
- Checkpoints verify prerequisites
|
||||
- Skipping breaks the learning flow and later modules won't work
|
||||
|
||||
**Q: What if I get stuck on a module?**
|
||||
A: Multiple support options:
|
||||
- `tito help troubleshooting` for common issues
|
||||
- `tito system doctor` for technical problems
|
||||
- Community leaderboard for peer support
|
||||
- Module README files for detailed guidance
|
||||
|
||||
### **Community Questions**
|
||||
|
||||
**Q: Is the leaderboard competitive or collaborative?**
|
||||
A: Both! We celebrate all achievements:
|
||||
- **Multiple categories**: Progress, speed, memory efficiency, innovation
|
||||
- **Inclusive design**: Many ways to excel and contribute
|
||||
- **Supportive community**: Everyone's learning journey matters
|
||||
- **Privacy controls**: Share only what you're comfortable sharing
|
||||
|
||||
**Q: Can I participate without sharing my progress publicly?**
|
||||
A: Yes! Leaderboard participation is optional:
|
||||
- All learning features work independently
|
||||
- Checkpoint system tracks your progress locally
|
||||
- You can join community later if you change your mind
|
||||
|
||||
### **Instructor Questions**
|
||||
|
||||
**Q: How much setup is required for classroom use?**
|
||||
A: Minimal - TinyTorch includes complete teaching infrastructure:
|
||||
- NBGrader integration works out-of-the-box
|
||||
- Student repositories auto-generated
|
||||
- Progress tracking built-in
|
||||
- Grading workflow automated
|
||||
|
||||
**Q: Can I customize the curriculum for my class?**
|
||||
A: Absolutely:
|
||||
- **Flexible duration**: 4-16 weeks depending on depth
|
||||
- **Difficulty adjustment**: Extra scaffolding or advanced challenges
|
||||
- **Custom projects**: Integration with existing coursework
|
||||
- **Modular design**: Focus on specific topics as needed
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Next Steps
|
||||
|
||||
### **Ready to Start?**
|
||||
|
||||
Choose your path and begin your ML systems engineering journey:
|
||||
|
||||
🔬 **[Explorer (15 minutes)](#explorer-path)**: Quick taste with `tito demo quick`
|
||||
|
||||
🎯 **[Builder (Weekend)](#builder-path)**: Build neural networks from scratch
|
||||
|
||||
🚀 **[Engineer (8-12 weeks)](#engineer-path)**: Complete framework development
|
||||
|
||||
🎓 **[Instructor](#instructor-path)**: Teach TinyTorch to your students
|
||||
|
||||
### **Essential First Commands**
|
||||
|
||||
```bash
|
||||
# System check
|
||||
tito system doctor
|
||||
|
||||
# Interactive guidance
|
||||
tito help --interactive
|
||||
|
||||
# See the journey ahead
|
||||
tito checkpoint timeline
|
||||
|
||||
# Start building
|
||||
cd modules/source/01_setup
|
||||
jupyter lab setup_dev.py
|
||||
```
|
||||
|
||||
### **Join the Community**
|
||||
|
||||
```bash
|
||||
# Connect with learners worldwide
|
||||
tito leaderboard join
|
||||
|
||||
# Share your progress
|
||||
tito leaderboard submit
|
||||
|
||||
# Compete and learn
|
||||
tito olympics explore
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**You're about to build everything from tensors to transformers. Let's start your journey! 🚀**
|
||||
@@ -0,0 +1,103 @@
|
||||
# Book Directory Cleanup Summary
|
||||
|
||||
Date: November 7, 2025
|
||||
Branch: website-content-improvements
|
||||
|
||||
## Files Deleted (Duplicates)
|
||||
|
||||
### 1. user-manual.md (17K)
|
||||
- **Reason**: Complete duplicate of quickstart-guide.md
|
||||
- **Status**: quickstart-guide.md is in TOC and actively maintained
|
||||
|
||||
### 2. instructor-guide.md (12K)
|
||||
- **Reason**: Duplicate of usage-paths/classroom-use.md
|
||||
- **Status**: classroom-use.md is in TOC ("For Instructors")
|
||||
|
||||
### 3. leaderboard.md (6.2K)
|
||||
- **Reason**: Old "TinyTorch Olympics" content
|
||||
- **Status**: Superseded by community.md and Module 20 (MLPerf® Edu Competition)
|
||||
|
||||
**Total Deleted**: ~35KB of duplicate content
|
||||
|
||||
## Files Archived (Development/Reference)
|
||||
|
||||
Moved to: `docs/archive/book-development/`
|
||||
|
||||
### Development Files:
|
||||
- THEME_DESIGN.md (4.5K) - Design documentation
|
||||
- convert_modules.py (17K) - Build script
|
||||
- convert_readmes.py (11K) - Build script
|
||||
- verify_build.py (3.2K) - Build script
|
||||
|
||||
### Documentation (Not in TOC):
|
||||
- faq.md (18K) - FAQ content (may add to TOC later)
|
||||
- kiss-principle.md (6.7K) - Design philosophy
|
||||
- vision.md (7.3K) - Project vision document
|
||||
|
||||
### Unused Usage Paths:
|
||||
- quick-exploration.md (2.7K) - Alternative usage path
|
||||
- serious-development.md (6.6K) - Alternative usage path
|
||||
- **Note**: Only classroom-use.md is in active TOC
|
||||
|
||||
**Total Archived**: ~77KB of reference content
|
||||
|
||||
## Images Archived
|
||||
|
||||
Moved to: `book/_static/archive/`
|
||||
|
||||
- Gemini_Generated_Image_1as0881as0881as0.png
|
||||
- Gemini_Generated_Image_b34tigb34tigb34t.png
|
||||
- Gemini_Generated_Image_b34tiib34tiib34t.png
|
||||
|
||||
**Reason**: AI-generated images not used in current site
|
||||
|
||||
## Files Remaining in book/ (All Active)
|
||||
|
||||
### Root Level (In TOC):
|
||||
- intro.md (12K) - Homepage
|
||||
- quickstart-guide.md (8.4K) - Getting Started
|
||||
- tito-essentials.md (8.9K) - CLI reference
|
||||
- learning-progress.md (6.4K) - Progress tracking
|
||||
- checkpoint-system.md (11K) - Checkpoint system
|
||||
- testing-framework.md (13K) - Testing guide
|
||||
- resources.md (5.4K) - Additional resources
|
||||
- community.md (1.5K) - Community page
|
||||
|
||||
### Subdirectories:
|
||||
- chapters/ (21 files) - All 20 modules + introduction
|
||||
- chapters/milestones.md - Referenced in intro
|
||||
- appendices/api-reference.md - API documentation
|
||||
- usage-paths/classroom-use.md - Instructor guide (in TOC)
|
||||
|
||||
### Assets:
|
||||
- logo-tinytorch-*.png (3 files) - Active logos
|
||||
- tensortorch.png - Project image
|
||||
- _static/ - CSS, JS, favicon
|
||||
|
||||
## Result
|
||||
|
||||
**Before Cleanup**: 39 markdown files in book/
|
||||
**After Cleanup**: 29 markdown files (26% reduction)
|
||||
|
||||
**Benefits**:
|
||||
- ✅ No duplicate content
|
||||
- ✅ Clear separation of active vs archived content
|
||||
- ✅ Easier maintenance
|
||||
- ✅ Cleaner repository structure
|
||||
- ✅ All active files are in TOC or properly referenced
|
||||
|
||||
## Files to Consider Adding to TOC
|
||||
|
||||
If we want to surface this content:
|
||||
- appendices/api-reference.md - Could add to Resources section
|
||||
- chapters/milestones.md - Already referenced, could add to TOC
|
||||
- docs/archive/book-development/faq.md - Could add if FAQ is needed
|
||||
|
||||
## Notes
|
||||
|
||||
All archived files are preserved and can be:
|
||||
1. Restored if needed
|
||||
2. Referenced in documentation
|
||||
3. Updated and added to TOC later
|
||||
4. Used as reference for future content
|
||||
|
||||
Reference in New Issue
Block a user