Files
Vijay Janapa Reddi 97e0563614 Add community and benchmark features with baseline validation
- Implement tito benchmark baseline and capstone commands
- Add SPEC-style normalization for baseline benchmarks
- Implement tito community join, update, leave, stats, profile commands
- Use project-local storage (.tinytorch/) for user data
- Add privacy-by-design with explicit consent prompts
- Update site documentation for community and benchmark features
- Add Marimo integration for online notebooks
- Clean up redundant milestone setup exploration docs
- Finalize baseline design: fast setup validation (~1 second) with normalized results
2025-11-20 00:17:21 -05:00
..
2025-11-14 18:27:22 -05:00

TinyTorch Course Book

This directory contains the TinyTorch course content built with Jupyter Book.

🌐 View Online

Live website: https://mlsysbook.github.io/TinyTorch/

📚 Build Options

Option 1: HTML (Default Website)

cd site
jupyter-book build .

Output: _build/html/index.html

No LaTeX installation required!

cd site
make install-pdf    # Install dependencies
make pdf-simple     # Build PDF

Output: _build/tinytorch-course.pdf

Option 3: PDF (LaTeX Method - Professional Quality)

Requires LaTeX installation (texlive, mactex, etc.)

cd site
make pdf

Output: _build/latex/tinytorch-course.pdf

🚀 Quick Commands

Using the Makefile (recommended):

make html        # Build website
make pdf-simple  # Build PDF (no LaTeX needed)
make pdf         # Build PDF via LaTeX
make clean       # Remove build artifacts
make install     # Install dependencies
make install-pdf # Install PDF dependencies

Using scripts directly:

./build_pdf_simple.sh  # PDF without LaTeX
./build_pdf.sh         # PDF with LaTeX

📖 Detailed Documentation

See PDF_BUILD_GUIDE.md for:

  • Complete setup instructions
  • Troubleshooting guide
  • Configuration options
  • Build performance details

🏗️ Structure

site/
├── _config.yml              # Jupyter Book configuration
├── _toc.yml                 # Table of contents
├── chapters/                # Course chapters (01-20)
├── _static/                 # Images, CSS, JavaScript
├── intro.md                 # Book introduction
├── quickstart-guide.md      # Quick start for students
├── tito-essentials.md       # CLI reference
└── ...                      # Additional course pages

🎯 Content Overview

📚 20 Technical Chapters

Foundation Tier (01-07):

  • Tensor operations, activations, layers, losses, autograd, optimizers, training

Architecture Tier (08-13):

  • DataLoader, convolutional networks (CNNs), tokenization, embeddings, attention, transformers

Optimization Tier (14-19):

  • Profiling, memoization (KV caching), quantization, compression, acceleration, benchmarking

Capstone (20):

  • Torch Olympics Competition project

🔧 Development

Local Development Server

jupyter-book build . --path-output ./_build-dev
python -m http.server 8000 -d _build-dev/html

Visit: http://localhost:8000

Auto-rebuild on Changes

pip install sphinx-autobuild
sphinx-autobuild site site/_build/html

🤝 Contributing

To contribute to the course content:

  1. Edit chapter files in chapters/
  2. Test your changes: jupyter-book build .
  3. Preview in browser: Open _build/html/index.html
  4. Submit PR with your improvements

📦 Dependencies

Core dependencies are in requirements.txt:

  • jupyter-book
  • numpy, matplotlib
  • sphinxcontrib-mermaid
  • rich (for CLI output)

PDF dependencies (optional):

  • pyppeteer (HTML-to-PDF, no LaTeX)
  • LaTeX distribution (for pdflatex method)

🎓 For Instructors

Using this book for teaching:

  1. Host locally: Build and serve on your institution's server
  2. Customize content: Modify chapters for your course
  3. Generate PDFs: Distribute offline reading material
  4. Track progress: Use the checkpoint system for assessment

See instructor guide for more details.

📝 License

MIT License - see LICENSE file in repository root

🐛 Issues

Report issues: https://github.com/mlsysbook/TinyTorch/issues


Build ML systems from scratch. Understand how things work.