mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-05-25 02:55:49 -05:00
- Replace all .html → .md in markdown source files (43 instances) - Fix broken links: tito-essentials.md → tito/overview.md - Remove broken links to non-existent leaderboard/olympics-rules pages - Fix PDF_BUILD_GUIDE reference in website-README.md Website rebuilt successfully with 46 warnings. Changes: - All markdown files now use .md extension for internal links - Removed references to missing/planned files - Website builds cleanly and all links are functional
136 lines
4.5 KiB
Markdown
136 lines
4.5 KiB
Markdown
# Prerequisites & Self-Assessment
|
|
|
|
**Purpose**: Ensure you have the foundational knowledge to succeed in TinyTorch and discover complementary resources for deeper learning.
|
|
|
|
---
|
|
|
|
## Core Requirements
|
|
|
|
You need TWO things to start building:
|
|
|
|
### 1. Python Programming
|
|
- Comfortable writing functions and classes
|
|
- Familiarity with basic NumPy arrays
|
|
- No ML framework experience required—you'll build your own!
|
|
|
|
**Self-check**: Can you write a Python class with `__init__` and methods?
|
|
|
|
### 2. Basic Linear Algebra
|
|
- Understand matrix multiplication conceptually
|
|
- Know what a gradient (derivative) represents at a high level
|
|
|
|
**Self-check**: Do you know what multiplying two matrices means?
|
|
|
|
**That's it. You're ready to start building.**
|
|
|
|
---
|
|
|
|
## "Nice to Have" Background
|
|
|
|
**We teach these concepts as you build**—you don't need them upfront:
|
|
|
|
- **Calculus (derivatives)**: Module 05 (Autograd) teaches this through implementation
|
|
- **Deep learning theory**: You'll learn by building, not lectures
|
|
- **Advanced NumPy**: We introduce operations as needed in each module
|
|
|
|
**Learning Philosophy**: TinyTorch teaches ML systems through implementation. You'll understand backpropagation by building it, not by watching lectures about it.
|
|
|
|
---
|
|
|
|
## Self-Assessment: Which Learning Path Fits You?
|
|
|
|
### Path A: Foundation-First Builder (Recommended for most)
|
|
**You are:**
|
|
- Strong Python programmer
|
|
- Curious about ML systems
|
|
- Want to understand how frameworks work
|
|
|
|
**Start with**: Module 01 (Tensor)
|
|
|
|
**Best for**: CS students, software engineers transitioning to ML, anyone wanting deep systems understanding
|
|
|
|
### Path B: Focused Systems Engineer
|
|
**You are:**
|
|
- Professional ML engineer
|
|
- Need specific optimization skills
|
|
- Want production deployment knowledge
|
|
|
|
**Start with**: Review Foundation Tier (01-07), focus on Optimization Tier (14-19)
|
|
|
|
**Best for**: Working engineers debugging production systems, performance optimization specialists
|
|
|
|
### Path C: Academic Researcher
|
|
**You are:**
|
|
- ML theory background
|
|
- Need implementation skills
|
|
- Want to prototype novel architectures
|
|
|
|
**Start with**: Module 01, accelerate through familiar concepts
|
|
|
|
**Best for**: PhD students, research engineers, anyone implementing custom operations
|
|
|
|
---
|
|
|
|
## Complementary Learning Resources
|
|
|
|
### Essential Systems Context
|
|
|
|
**[Machine Learning Systems](https://mlsysbook.ai)** by Prof. Vijay Janapa Reddi (Harvard)
|
|
- TinyTorch's companion textbook providing systems perspective
|
|
- Covers production ML engineering, hardware acceleration, deployment
|
|
- **Perfect pairing**: TinyTorch teaches implementation, ML Systems book teaches context
|
|
|
|
### Mathematical Foundations
|
|
|
|
**[Deep Learning Book](https://www.deeplearningbook.org/)** by Goodfellow, Bengio, Courville
|
|
- Comprehensive theoretical foundations
|
|
- Mathematical background for concepts you'll implement
|
|
- **Use alongside TinyTorch** for deeper understanding
|
|
|
|
### Visual Intuition
|
|
|
|
**[3Blue1Brown: Neural Networks](https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi)**
|
|
- Visual explanations of backpropagation, gradient descent, neural networks
|
|
- **Perfect visual complement** to TinyTorch's hands-on implementation
|
|
|
|
**[3Blue1Brown: Linear Algebra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)**
|
|
- Geometric intuition for vectors, matrices, transformations
|
|
- **Helpful refresher** for tensor operations and matrix multiplication
|
|
|
|
### Python & NumPy
|
|
|
|
**[NumPy Quickstart Tutorial](https://numpy.org/doc/stable/user/quickstart.md)**
|
|
- Essential NumPy operations and array manipulation
|
|
- **Review before Module 01** if NumPy is unfamiliar
|
|
|
|
---
|
|
|
|
## Ready to Begin?
|
|
|
|
**If you can:**
|
|
1. ✅ Write a Python class with methods
|
|
2. ✅ Explain what matrix multiplication does
|
|
3. ✅ Debug Python code using print statements
|
|
|
|
**Then you're ready to start building!**
|
|
|
|
**Not quite there?** Work through the resources above, then return when ready. TinyTorch will still be here, and you'll get more value once foundations are solid.
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
**Ready to Build:**
|
|
- See [Quick Start Guide](quickstart-guide.md) for hands-on experience
|
|
- See [Student Workflow](student-workflow.md) for development process
|
|
- See [Course Structure](chapters/00-introduction.md) for full curriculum
|
|
|
|
**Need More Context:**
|
|
- See [Additional Resources](resources.md) for broader ML learning materials
|
|
- See [FAQ](faq.md) for common questions about TinyTorch
|
|
- See [Community](community.md) to connect with other learners
|
|
|
|
---
|
|
|
|
**Your journey from ML user to ML systems engineer starts here.**
|