mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-06-01 20:35:21 -05:00
🎨 File-Based ASCII Art System: - Add beautiful tinytorch_flame.txt with sophisticated flame design - Dynamic file loading with fallback to simple flame - Easy customization - students can edit the file directly - Proper error handling for missing files 🔥 Enhanced Visual Experience: - Stunning detailed flame ASCII art from file - 'Tiny🔥Torch' branding with 'Build ML Systems from Scratch!' tagline - Much more sophisticated design than hardcoded version - Students can easily customize by editing tinytorch_flame.txt 📚 Educational Benefits: - Two customization options: parameter override or file editing - Teaches file I/O and error handling concepts - Encourages creative expression and ownership - Professional development practices 🧪 Testing: - Updated all tests to work with file-based system - All 17 tests pass successfully - Comprehensive coverage of file loading and fallback - Verified both custom and default ASCII art functionality Students can now easily create their own ASCII art by editing the tinytorch_flame.txt file or providing custom art via parameters
Module 0: Setup
Learning Objectives
This module teaches you the TinyTorch development workflow. By the end, you'll be comfortable with:
- Writing code in Jupyter notebooks using nbdev conventions
- Exporting notebook code to Python modules
- Running tests and using the TinyTorch CLI
- Understanding the development rhythm you'll use for all modules
What You'll Build
A simple "Hello World" system that demonstrates the complete development cycle:
- Basic utility functions
- A simple
SystemInfoclass - Tests to verify everything works
- Experience with the full notebook → export → test workflow
Module Structure
modules/setup/
├── setup_dev.ipynb # 📓 Main development notebook
├── README.md # 📖 This guide
└── __init__.py # 📦 Module marker
Development Workflow
1. Work in the Notebook
cd modules/setup
jupyter lab setup_dev.ipynb
2. Export Your Code
python bin/tito.py sync
3. Test Your Implementation
python bin/tito.py test --module setup
4. Check Your Progress
python bin/tito.py info
Key Concepts
- nbdev workflow: Write in notebooks, export to Python
- Export directive: Use
#| exportto mark code for export - Module → Package mapping: This module exports to
tinytorch/core/utils.py - Teaching vs. Building: Learn by modules, build by function (see VISION.md)
- Test integration: Tests run automatically via CLI
- Module development: Each module is self-contained
Success Criteria
✅ All tests pass
✅ Code exports cleanly to tinytorch/core/utils.py
✅ You understand the development rhythm
✅ Ready to tackle the Tensor module
Next Module: Tensor - Core data structures and operations