Commit Graph

1094 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
1a0d9fe7b3 Remove outdated milestone README files
Deleted 5 README/documentation files with stale information:
- 01_1957_perceptron/README.md
- 02_1969_xor/README.md
- 03_1986_mlp/README.md
- 04_1998_cnn/README.md
- 05_2017_transformer/PERFORMANCE_METRICS_DEMO.md

Issues with these files:
- Wrong file names (rosenblatt_perceptron.py, train_mlp.py, train_cnn.py)
- Old paths (examples/datasets/)
- Duplicate content (already in Python file docstrings)
- Could not be kept in sync with code

Documentation now lives exclusively in comprehensive Python docstrings
at the top of each milestone file, ensuring it stays accurate and
students see rich context when running files.
2025-11-10 16:12:26 -05:00
Vijay Janapa Reddi
95f50c7ac1 Remove Shakespeare transformer milestone
Deleted vaswani_shakespeare.py and get_shakespeare() from data_manager:
- 45-60 minute training time (too slow for educational demos)
- Required external download from Karpathy's char-rnn repo
- Replaced by faster TinyTalks ChatGPT milestone (3-5 min training)

Primary transformer milestone is now vaswani_chatgpt.py:
- Uses TinyTalks Q&A dataset (already in repo)
- Fast training with clear learning signal (Q&A format)
- Better pedagogical value (students see transformer learn to chat)
2025-11-10 16:12:06 -05:00
Vijay Janapa Reddi
ad69d816b5 Update milestone template with simple Rich UI patterns
Replaced dashboard-based template with direct Rich UI examples:
- Removed MilestoneRunner/dashboard imports
- Added simple Rich Console, Panel, Table patterns
- Shows clean milestone structure with educational narrative
- Demonstrates proper separation: ML code vs display code

Template now guides creating self-contained milestones with
comprehensive docstrings instead of relying on external systems.
2025-11-10 16:12:04 -05:00
Vijay Janapa Reddi
a3e1249687 Remove milestone dashboard system
Removed achievement/gamification system that was unused:
- milestone_dashboard.py (620+ lines, only 1 file used it)
- .milestone_progress.json (progress tracking data)
- perceptron_trained_v2.py (only dashboard user, duplicate of perceptron_trained.py)

Rationale:
- Dashboard was used by only 1 of 15 milestone files
- Milestones are educational stories, not standardized tests
- Achievement badges felt gimmicky for ML systems learning
- Custom Rich UI in each file is clearer and more educational
- Reduces dependencies (removed psutil system monitoring)
2025-11-10 16:12:03 -05:00
Vijay Janapa Reddi
d25d92d628 Add milestone dashboard utility
Provides standardized dashboard system for milestone demonstrations with live metrics, progress tracking, and achievement system
2025-11-10 10:38:02 -05:00
Vijay Janapa Reddi
0690b714f8 Clean up gitignore patterns to be more specific
- Remove overly broad patterns (*_ANALYSIS.md, *_AUDIT.md)
- Make report patterns more specific (MODULE_REVIEW_REPORT_*.md)
- Add clear comments explaining why directories are ignored
- Keep dataset ignores (data/, datasets/) as they are downloaded files
2025-11-10 10:24:06 -05:00
Vijay Janapa Reddi
4c7d81c97b Update gitignore to exclude datasets and temporary reports
Add patterns for data directories and module review reports
2025-11-10 10:19:28 -05:00
Vijay Janapa Reddi
064b93869f Remove AI assistant section from README
Keep README focused on project information for users and developers
2025-11-10 07:46:45 -05:00
Vijay Janapa Reddi
87ce4b5703 Add AI assistant rules reference to main README
Point developers and AI assistants to shared rules file
2025-11-10 07:32:10 -05:00
Vijay Janapa Reddi
4ecfcc7ac8 Add shared AI assistant rules for all tools
Create comprehensive guidelines for git commits, code quality, testing, and development workflow that apply to Cursor, Claude, and any other AI assistants
2025-11-10 07:31:18 -05:00
Vijay Janapa Reddi
caca0e3903 Fix Module 16 quantization syntax and imports
Fix misplaced triple-quote causing syntax error and add Sequential import
2025-11-10 07:30:40 -05:00
Vijay Janapa Reddi
cf3cb87bd4 Fix Module 15 memoization: Add optional mask parameter to MockTransformerBlock forward method 2025-11-10 07:26:11 -05:00
Vijay Janapa Reddi
dd622bb5ae Fix Module 12 attention: Correct masking logic to use 0 for masked positions instead of negative values 2025-11-10 07:26:09 -05:00
Vijay Janapa Reddi
ca9198875c Fix Module 06 optimizers: Use duck typing for Tensor validation and extract grad data properly in AdamW 2025-11-10 07:26:07 -05:00
Vijay Janapa Reddi
c19ba1e14b Add comprehensive test strategy documentation
- Document two-tier testing approach (inline vs integration)
- Explain purpose and scope of each test type
- Provide test coverage matrix for all 20 modules
- Include testing workflow for students and instructors
- Add best practices and common patterns
- Show current status: 11/15 inline tests passing, all 20 modules have test infrastructure
2025-11-10 06:34:42 -05:00
Vijay Janapa Reddi
09adc2ee68 Create test directories for modules 16-20
- Add tests/16_quantization with run_all_tests.py and integration test
- Add tests/17_compression with run_all_tests.py and integration test
- Add tests/18_acceleration with run_all_tests.py and integration test
- Add tests/19_benchmarking with run_all_tests.py and integration test
- Add tests/20_capstone with run_all_tests.py and integration test
- All test files marked as pending implementation with TODO markers
- Completes test directory structure for all 20 modules
2025-11-10 06:33:50 -05:00
Vijay Janapa Reddi
c188ccc1d3 Regenerate tinytorch package from all module exports
- Run tito export --all to update all exported code
- Fix file permissions (chmod u+w) to allow export writes
- Update 12 modified files with latest module code
- Add 3 new files (tinygpt, acceleration, compression)
- All 21 modules successfully exported
2025-11-10 06:23:47 -05:00
Vijay Janapa Reddi
4c5ef3905d Fix pyproject.toml readme reference
- Change README_placeholder.md to README.md
- Resolves invalid file reference in package configuration
2025-11-10 06:21:14 -05:00
Vijay Janapa Reddi
3b1922c653 Rename test directories to match restructured modules
- Rename tests/14_kvcaching to tests/14_profiling
- Rename tests/15_profiling to tests/15_memoization
- Aligns test structure with optimization tier reorganization
2025-11-10 06:21:04 -05:00
Vijay Janapa Reddi
1a365d20b8 Fix import paths in tinytorch nn module
- Import Module base class from core.layers
- Fix embeddings import path (text.embeddings not core.embeddings)
- Fix attention import (MultiHeadAttention not SelfAttention)
- Fix transformer import path (models.transformer not core.transformers)
- Handle missing functional module gracefully with try/except
- Update __all__ exports to match available components
2025-11-09 17:19:16 -05:00
Vijay Janapa Reddi
e768ccdc3e Remove obsolete KV cache test file
- Delete test_kv_cache_milestone.py
- Standalone test file no longer needed after module integration
2025-11-09 17:04:03 -05:00
Vijay Janapa Reddi
bec5f5ce45 Remove internal restructuring documentation
- Delete modules/source/14_profiling/RESTRUCTURING_SUMMARY.md
- Internal implementation notes no longer needed after refactoring completion
2025-11-09 17:03:43 -05:00
Vijay Janapa Reddi
474016e91f Remove outdated kvcaching module files
- Delete kvcaching_dev.py (superseded by memoization_dev.py)
- Delete kvcaching_dev.ipynb (superseded by memoization_dev.ipynb)
- memoization_dev files are the current versions with complete content
2025-11-09 17:03:31 -05:00
Vijay Janapa Reddi
548c6ab58a Organize book logos into _static/logos directory
- Move logo-tinytorch-grey.png to _static/logos/
- Move logo-tinytorch-simple.png to _static/logos/
- Move logo-tinytorch-white.png to _static/logos/
- Move tensortorch.png to _static/logos/
- Update _config.yml to reference new logo path
- Keeps all logo versions organized in standard static assets location
2025-11-09 17:03:12 -05:00
Vijay Janapa Reddi
6b25d80b70 Update gitignore to exclude all AI assistant folders
- Add .claude/ to ignore Claude AI configs
- Add .cursor/ to ignore Cursor AI configs
- Add .ai/ to ignore any AI assistant folders
2025-11-09 16:57:49 -05:00
Vijay Janapa Reddi
15fb87e445 Update gitignore for backup files and AI configs
- Add *.bak pattern to ignore backup files
- Add *.backup pattern to ignore backup files
- Add .claude/ directory to ignore AI assistant configs
2025-11-09 16:56:56 -05:00
Vijay Janapa Reddi
b6cd4befae Remove old milestone template
- Delete MILESTONE_TEMPLATE.py in favor of MILESTONE_TEMPLATE_V2.py
2025-11-09 16:56:21 -05:00
Vijay Janapa Reddi
fb77c327f1 Remove outdated development reports
- Delete MODULE_14_COMPLETION_REPORT.md
- Delete MODULE_14_REVIEW.md
- Delete RESTRUCTURE_COMPLETE.md
- Delete OPTIMIZATION_TIER_RESTRUCTURE_PLAN.md
- Delete PROGRESS_SUMMARY.md
- Delete PROJECT_STATUS.md
- Delete SCAFFOLDING_COMPLIANCE_REPORT.md
- Delete modules/COMPLIANCE_REPORT_FINAL.md
- Delete modules/GOLD_STANDARD_ANALYSIS.md
- Delete modules/MODULES_14-20_AUDIT.md
2025-11-09 16:56:08 -05:00
Vijay Janapa Reddi
40b7fb8290 Remove obsolete backup files
- Delete tinytorch/core/training.py.bak
- Delete tinytorch/core/optimizers.py.bak
- Delete modules/source/14_profiling/profiling_dev.py.backup
2025-11-09 16:55:49 -05:00
Vijay Janapa Reddi
0ed16a1553 Update release documentation and advanced modules
- Updated release checklist and December 2024 release notes
- Updated student version tooling documentation
- Modified modules 15-19 (memoization, quantization, compression, benchmarking)
- Added milestone dashboard and progress tracking
- Added compliance reports and module audits
- Added checkpoint tests for modules 15-20
- Added activation script and book configuration
2025-11-09 16:51:55 -05:00
Vijay Janapa Reddi
e76262fa63 Update TOC to use 'Convolutions' for consistency with single-word naming pattern 2025-11-09 15:18:25 -05:00
Vijay Janapa Reddi
acf1bc2afb build: add PDF generation infrastructure for book
Add build scripts and GitHub Actions workflow to support PDF generation:
- build_pdf.sh: LaTeX-based PDF build for professional quality
- build_pdf_simple.sh: HTML-to-PDF build without LaTeX requirement
- Makefile: convenient shortcuts for common build tasks
- GitHub Actions workflow: automated PDF builds on demand

Supports multiple output formats:
- HTML website (default, via jupyter-book)
- PDF via HTML-to-PDF (pyppeteer, no LaTeX needed)
- PDF via LaTeX (professional typography, requires LaTeX)

Usage:
  make html        - Build HTML website
  make pdf-simple  - Build PDF without LaTeX
  make pdf         - Build PDF with LaTeX
2025-11-09 14:51:48 -05:00
Vijay Janapa Reddi
f4fdf968c5 feat: add exported packages for benchmarking, competition, and data utilities
- tinytorch/benchmarking/: Benchmark class for Module 19
- tinytorch/competition/: Submission utilities for Module 20
- tinytorch/data/: Data loading utilities
- tinytorch/utils/data/: Additional data helpers

Exported from modules 19-20 and module 08
2025-11-09 14:42:23 -05:00
Vijay Janapa Reddi
9070efc8af docs: add December 2024 release documentation
- DECEMBER_2024_RELEASE.md: Release announcement template
- RELEASE_CHECKLIST.md: Pre-release checklist and validation steps
- STUDENT_VERSION_TOOLING.md: Documentation for untested student generation tooling
2025-11-09 14:42:08 -05:00
Vijay Janapa Reddi
29cc766926 docs: add module 14-19 completion and compliance reports
- SCAFFOLDING_COMPLIANCE_REPORT.md: Documents 100% compliance with Module 12 gold standard
- MODULE_14_COMPLETION_REPORT.md: Module 14 (now Memoization) completion documentation
- MODULE_14_REVIEW.md: Initial review and analysis of Module 14
2025-11-09 14:42:01 -05:00
Vijay Janapa Reddi
bbaa449da6 build: add generated memoization notebook
Generated from memoization_dev.py after module restructuring
2025-11-09 14:41:24 -05:00
Vijay Janapa Reddi
1c299cddb0 docs: add comprehensive docstrings to optimization modules 16-19
- Add Args/Returns/Example/Hints to key functions
- Improve documentation for compare_model_sizes (16)
- Enhance function documentation in compression (17)
- Add docstring details for acceleration (18)
- Improve benchmarking function docs (19)
2025-11-09 14:38:44 -05:00
Vijay Janapa Reddi
a6e57ff379 docs: add Args/Returns docstrings to quantization functions 2025-11-09 13:03:43 -05:00
Vijay Janapa Reddi
a272030037 build: regenerate profiling notebook from updated dev file 2025-11-09 13:03:30 -05:00
Vijay Janapa Reddi
3b09285b0f chore: update module index for memoization path change 2025-11-09 13:03:23 -05:00
Vijay Janapa Reddi
756a465b18 refactor: update KV cache module path to 15_memoization
Module path updated from 14_kvcaching to 15_memoization
to reflect optimization tier restructuring
2025-11-09 13:03:10 -05:00
Vijay Janapa Reddi
3830fb2038 feat: update profiler with helper functions and module path
- Update module path from 15_profiling to 14_profiling
- Add quick_profile helper for quick bottleneck discovery
- Add analyze_weight_distribution for pruning analysis
- Export new helper functions in __all__
2025-11-09 13:02:57 -05:00
Vijay Janapa Reddi
b831086c4a docs: update TOC to reference renamed convolutional networks chapter 2025-11-09 13:02:42 -05:00
Vijay Janapa Reddi
42db5bf78e docs: standardize Foundation Tier formatting to professional style
Remove emoji section headers and apply consistent professional formatting:
- Module 02-03, 05-07: Remove 🎯🧠📚🚀🧪 emoji headers
- Replace with clean headers: Learning Objectives, Implementation Guide, Testing, Systems Thinking
- Add Why This Matters sections with production/historical context
- Maintain tier badges and difficulty stars (acceptable branding)
- Follow Module 04 professional template
- All Foundation Tier now consistent
2025-11-09 12:59:31 -05:00
Vijay Janapa Reddi
595bf26b75 docs: update all tier references for consistency
- Intelligence Tier → Architecture Tier (08-13)
- Performance Tier → Optimization Tier (14-19)
- Updated intro.md tier descriptions
- Updated 00-introduction.md throughout
- Updated module prerequisites and next_steps
- Updated book README content overview
- Updated learning-progress.md student journey
- Updated capstone and benchmarking tier references
2025-11-09 12:53:10 -05:00
Vijay Janapa Reddi
757d50b717 docs: update module references in README and guides
- Update README.md module structure (14→Profiling, 15→Memoization)
- Fix tier descriptions (10-13 Architecture, 14-19 Optimization)
- Update Module 13 next steps to reference Module 15
- Fix Module 15 prerequisite reference to Module 14
- Correct cifar10-training-guide module numbers
2025-11-09 12:42:27 -05:00
Vijay Janapa Reddi
5eaffe8501 docs: Add restructuring completion summary
Comprehensive summary of all changes made:
- Module reorganization complete
- Chapter updates complete
- All commits made in logical pieces
- Ready for testing and review
2025-11-09 12:27:49 -05:00
Vijay Janapa Reddi
9e22c3caf6 refactor: Remove old module and chapter files after reorganization
Cleanup of renamed files:
- Deleted old module source files (14_kvcaching, 15_profiling, 16_acceleration, etc.)
- Deleted old chapter markdown files
- These have been replaced by reorganized versions in previous commits
2025-11-09 12:26:47 -05:00
Vijay Janapa Reddi
7784090a0c docs(toc): Update table of contents for reorganized structure
TOC changes:
- Architecture Tier: (08-14) → (08-13)
- Removed Module 14 (KV Caching) from Architecture Tier
- Renamed Module 09: 'Spatial (CNNs)' → 'Convolutional Networks'
- Optimization Tier: (15-19) → (14-19)
- New order: Profiling, Memoization, Quantization, Compression, Acceleration, Benchmarking

Added documentation:
- OPTIMIZATION_TIER_RESTRUCTURE_PLAN.md: Comprehensive implementation plan
- PROGRESS_SUMMARY.md: Summary of completed work
2025-11-09 12:26:32 -05:00
Vijay Janapa Reddi
682bc1f57d docs(chapters): Reorganize optimization tier chapters (14-19)
Chapter file renaming:
- 15-profiling.md → 14-profiling.md
- 14-kvcaching.md → 15-memoization.md
- 17-quantization.md → 16-quantization.md
- 18-compression.md → 17-compression.md
- 16-acceleration.md → 18-acceleration.md
- 09-spatial.md → 09-convolutional-networks.md

All chapter metadata updated:
- Headings (module numbers)
- Prerequisites (reflect new order)
- Next steps (point to correct modules)
- Difficulty (Memoization: 3→2, Acceleration: 4→3)
- Cross-references updated
2025-11-09 12:26:22 -05:00