Commit Graph

1079 Commits

Author SHA1 Message Date
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
Vijay Janapa Reddi
cbd275e4aa refactor(modules): Reorganize optimization tier structure (14-19)
Module renaming and reordering:
- 15_profiling → 14_profiling (now first in optimization tier)
- 14_kvcaching → 15_memoization (renamed to emphasize pattern)
- 17_quantization → 16_quantization
- 18_compression → 17_compression
- 16_acceleration → 18_acceleration (moved after compression)
- 19_benchmarking (unchanged)

All module metadata updated (numbers, prerequisites, connection maps)
2025-11-09 12:26:13 -05:00
Vijay Janapa Reddi
ef1a5ec7fd feat(modules): Add profiling motivation sections to optimization modules
- Quantization: Shows FP32 memory usage, motivates precision reduction
- Compression: Shows weight distribution, motivates pruning
- Acceleration: Shows CNN compute bottleneck, motivates vectorization

Each module now follows pattern: Profile → Discover → Fix
2025-11-09 12:26:03 -05:00
Vijay Janapa Reddi
976f0ed278 feat(memoization): Add profiling motivation section
- Shows O(n²) latency growth in transformer generation
- Demonstrates problem before teaching solution
- Prepares module for reorganization to Module 15
2025-11-09 09:16:08 -05:00
Vijay Janapa Reddi
b52b762545 feat(profiler): Add helper functions for optimization modules
- Add quick_profile() for simplified profiling interface
- Add analyze_weight_distribution() for compression module
- Both functions will be used by modules 15-18
2025-11-09 09:15:13 -05:00
Vijay Janapa Reddi
c010ca7651 docs: Add comprehensive implementation plan for optimization tier restructure 2025-11-09 09:14:15 -05:00
Vijay Janapa Reddi
3178ceec41 Rename Intelligence Tier to Architecture Tier
Changed tier name from 'Intelligence' to 'Architecture' for clarity:
- Updated TOC: 🏛️ Architecture Tier (08-14)
- Updated all tier badges in modules 08-14
- Changed emoji from 🧠 to 🏛️ (building/columns)

Rationale:
- 'Intelligence' was vague and didn't describe content
- 'Architecture' accurately describes what students learn
- Professional terminology used in ML industry
- Clearer pedagogical narrative: different neural architectures
  (data infrastructure, CNNs for vision, Transformers for language)

Content remains unchanged, only naming improved.
2025-11-09 08:32:07 -05:00
Vijay Janapa Reddi
ed38878999 fix: Pin to jupyter-book < 1.0 as v2 has issues with directory handling 2025-11-08 19:06:17 -05:00
Vijay Janapa Reddi
3c7bd5d331 debug: Add directory listing after build to diagnose missing HTML output 2025-11-08 19:04:36 -05:00
Vijay Janapa Reddi
48714ca594 fix: Remove unused appendices directory that was causing build errors 2025-11-08 19:03:25 -05:00
Vijay Janapa Reddi
616090d2e7 fix: Remove --all flag from jupyter-book build to only generate HTML 2025-11-08 19:01:53 -05:00
Vijay Janapa Reddi
baa93c9937 debug: Add file listing to diagnose checkout issue 2025-11-08 18:59:53 -05:00
Vijay Janapa Reddi
bd21e72bf6 fix: Replace wildcard gitignore that was preventing file checkout 2025-11-08 18:54:11 -05:00
Vijay Janapa Reddi
7b00c46225 fix: Clean before build and exclude appendices directory from Jupyter Book 2025-11-08 18:52:25 -05:00
Vijay Janapa Reddi
b4dbc99cc0 fix: Exclude .venv and build artifacts from Jupyter Book scanning 2025-11-08 18:49:56 -05:00
Vijay Janapa Reddi
f464469e9f Merge branch 'dev' 2025-11-08 18:47:18 -05:00