- Updated Linear layer to use autograd operations (matmul, add) for proper gradient propagation
- Fixed Parameter class to wrap Variables with requires_grad=True
- Implemented proper MSELoss and CrossEntropyLoss with backward chaining
- Added broadcasting support in autograd operations for bias gradients
- Fixed memoryview errors in gradient data extraction
- All integration tests now pass - neural networks can learn via backpropagation
- Updated Linear layer to use autograd operations (matmul, add) for proper gradient propagation
- Fixed Parameter class to wrap Variables with requires_grad=True
- Implemented proper MSELoss and CrossEntropyLoss with backward chaining
- Added broadcasting support in autograd operations for bias gradients
- Fixed memoryview errors in gradient data extraction
- All integration tests now pass - neural networks can learn via backpropagation
- Fixed module 03_layers Tensor/Parameter comparison issues
- Fixed module 05_autograd psutil dependency (made optional)
- Removed duplicate 04_networks module
- Created losses.py with MSELoss and CrossEntropyLoss
- Created minimal MNIST training examples
- All 20 modules now pass individual tests
Note: Gradient flow still needs work for full training capability
- Fixed module 03_layers Tensor/Parameter comparison issues
- Fixed module 05_autograd psutil dependency (made optional)
- Removed duplicate 04_networks module
- Created losses.py with MSELoss and CrossEntropyLoss
- Created minimal MNIST training examples
- All 20 modules now pass individual tests
Note: Gradient flow still needs work for full training capability
- Removed 01_setup module (archived to archive/setup_module)
- Renumbered all modules: tensor is now 01, activations is 02, etc.
- Added tito setup command for environment setup and package installation
- Added numeric shortcuts: tito 01, tito 02, etc. for quick module access
- Fixed view command to find dev files correctly
- Updated module dependencies and references
- Improved user experience: immediate ML learning instead of boring setup
- Removed 01_setup module (archived to archive/setup_module)
- Renumbered all modules: tensor is now 01, activations is 02, etc.
- Added tito setup command for environment setup and package installation
- Added numeric shortcuts: tito 01, tito 02, etc. for quick module access
- Fixed view command to find dev files correctly
- Updated module dependencies and references
- Improved user experience: immediate ML learning instead of boring setup
🎯 NORTH STAR VISION DOCUMENTED:
'Don't Just Import It, Build It' - Training AI Engineers, not just ML users
AI Engineering emerges as a foundational discipline like Computer Engineering,
bridging algorithms and systems to build the AI infrastructure of the future.
🧪 ROBUST TESTING FRAMEWORK ESTABLISHED:
- Created tests/regression/ for sandbox integrity tests
- Implemented test-driven bug prevention workflow
- Clear separation: student tests (pedagogical) vs system tests (robustness)
- Every bug becomes a test to prevent recurrence
✅ KEY IMPLEMENTATIONS:
- NORTH_STAR.md: Vision for AI Engineering discipline
- Testing best practices: Focus on robust student sandbox
- Git workflow standards: Professional development practices
- Regression test suite: Prevent infrastructure issues
- Conv->Linear dimension tests (found CNN bug)
- Transformer reshaping tests (found GPT bug)
🏗️ SANDBOX INTEGRITY:
Students need a solid, predictable environment where they focus on ML concepts,
not debugging framework issues. The framework must be invisible.
📚 EDUCATIONAL PHILOSOPHY:
TinyTorch isn't just teaching a framework - it's founding the AI Engineering
discipline by training engineers who understand how to BUILD ML systems.
This establishes the foundation for training the first generation of true
AI Engineers who will define this emerging discipline.
🎯 NORTH STAR VISION DOCUMENTED:
'Don't Just Import It, Build It' - Training AI Engineers, not just ML users
AI Engineering emerges as a foundational discipline like Computer Engineering,
bridging algorithms and systems to build the AI infrastructure of the future.
🧪 ROBUST TESTING FRAMEWORK ESTABLISHED:
- Created tests/regression/ for sandbox integrity tests
- Implemented test-driven bug prevention workflow
- Clear separation: student tests (pedagogical) vs system tests (robustness)
- Every bug becomes a test to prevent recurrence
✅ KEY IMPLEMENTATIONS:
- NORTH_STAR.md: Vision for AI Engineering discipline
- Testing best practices: Focus on robust student sandbox
- Git workflow standards: Professional development practices
- Regression test suite: Prevent infrastructure issues
- Conv->Linear dimension tests (found CNN bug)
- Transformer reshaping tests (found GPT bug)
🏗️ SANDBOX INTEGRITY:
Students need a solid, predictable environment where they focus on ML concepts,
not debugging framework issues. The framework must be invisible.
📚 EDUCATIONAL PHILOSOPHY:
TinyTorch isn't just teaching a framework - it's founding the AI Engineering
discipline by training engineers who understand how to BUILD ML systems.
This establishes the foundation for training the first generation of true
AI Engineers who will define this emerging discipline.
- Updated pyproject.toml with correct author and repository URLs
- Fixed license format to use modern SPDX expression (MIT)
- Removed duplicate modules (12_attention, 05_loss)
- Cleaned up backup files from core package
- Successfully built wheel package (tinytorch-0.1.0-py3-none-any.whl)
- Package is now ready for PyPI publication
- Updated pyproject.toml with correct author and repository URLs
- Fixed license format to use modern SPDX expression (MIT)
- Removed duplicate modules (12_attention, 05_loss)
- Cleaned up backup files from core package
- Successfully built wheel package (tinytorch-0.1.0-py3-none-any.whl)
- Package is now ready for PyPI publication
✅ Fixed all forward dependency violations across modules 3-10
✅ Learning progression now clean: each module uses only previous concepts
Module 3 Activations:
- Removed 25+ autograd/Variable references
- Pure tensor-based activation functions
- Students learn nonlinearity without gradient complexity
Module 4 Layers:
- Removed 15+ autograd references
- Simplified Dense/Linear layers to pure tensor operations
- Clean building blocks without gradient tracking
Module 7 Spatial:
- Simplified 20+ autograd references to basic patterns
- Conv2D/BatchNorm work with basic gradients from Module 6
- Focus on CNN mechanics, not autograd complexity
Module 8 Optimizers:
- Simplified 50+ complex autograd references
- Basic SGD/Adam using simple gradient operations
- Educational focus on optimization math
Module 10 Training:
- Fixed import paths and simplified autograd usage
- Integration module using concepts from Modules 6-9 only
- Clean training loops without advanced patterns
RESULT: Clean learning progression where students only use concepts
they've already learned. No more circular dependencies!
✅ Fixed all forward dependency violations across modules 3-10
✅ Learning progression now clean: each module uses only previous concepts
Module 3 Activations:
- Removed 25+ autograd/Variable references
- Pure tensor-based activation functions
- Students learn nonlinearity without gradient complexity
Module 4 Layers:
- Removed 15+ autograd references
- Simplified Dense/Linear layers to pure tensor operations
- Clean building blocks without gradient tracking
Module 7 Spatial:
- Simplified 20+ autograd references to basic patterns
- Conv2D/BatchNorm work with basic gradients from Module 6
- Focus on CNN mechanics, not autograd complexity
Module 8 Optimizers:
- Simplified 50+ complex autograd references
- Basic SGD/Adam using simple gradient operations
- Educational focus on optimization math
Module 10 Training:
- Fixed import paths and simplified autograd usage
- Integration module using concepts from Modules 6-9 only
- Clean training loops without advanced patterns
RESULT: Clean learning progression where students only use concepts
they've already learned. No more circular dependencies!
✅ Phase 1-2 Complete: Modules 1-10 aligned with tutorial master plan
✅ CNN Training Pipeline: Autograd → Spatial → Optimizers → DataLoader → Training
✅ Technical Validation: All modules import and function correctly
✅ CIFAR-10 Ready: Multi-channel Conv2D, BatchNorm, MaxPool2D, complete pipeline
Key Achievements:
- Fixed module sequence alignment (spatial now Module 7, not 6)
- Updated tutorial master plan for logical pedagogical flow
- Phase 2 milestone achieved: Students can train CNNs on CIFAR-10
- Complete systems engineering focus throughout all modules
- Production-ready CNN pipeline with memory profiling
Next Phase: Language models (Modules 11-15) for TinyGPT milestone
✅ Phase 1-2 Complete: Modules 1-10 aligned with tutorial master plan
✅ CNN Training Pipeline: Autograd → Spatial → Optimizers → DataLoader → Training
✅ Technical Validation: All modules import and function correctly
✅ CIFAR-10 Ready: Multi-channel Conv2D, BatchNorm, MaxPool2D, complete pipeline
Key Achievements:
- Fixed module sequence alignment (spatial now Module 7, not 6)
- Updated tutorial master plan for logical pedagogical flow
- Phase 2 milestone achieved: Students can train CNNs on CIFAR-10
- Complete systems engineering focus throughout all modules
- Production-ready CNN pipeline with memory profiling
Next Phase: Language models (Modules 11-15) for TinyGPT milestone
Final stage of TinyTorch API simplification:
- Exported updated tensor module with Parameter function
- Exported updated layers module with Linear class and Module base class
- Fixed nn module to use unified Module class from core.layers
- Complete modern API now working with automatic parameter registration
✅ All 7 stages completed successfully:
1. Unified Tensor with requires_grad support
2. Module base class for automatic parameter registration
3. Dense renamed to Linear for PyTorch compatibility
4. Spatial helpers (flatten, max_pool2d) and Conv2d rename
5. Package organization with nn and optim modules
6. Modern API examples showing 50-70% code reduction
7. Complete export with working PyTorch-compatible interface
🎉 Students can now write PyTorch-like code while still implementing
all core algorithms (Conv2d, Linear, ReLU, Adam, autograd)
The API achieves the goal: clean professional interfaces that enhance
learning by reducing cognitive load on framework mechanics.
Final stage of TinyTorch API simplification:
- Exported updated tensor module with Parameter function
- Exported updated layers module with Linear class and Module base class
- Fixed nn module to use unified Module class from core.layers
- Complete modern API now working with automatic parameter registration
✅ All 7 stages completed successfully:
1. Unified Tensor with requires_grad support
2. Module base class for automatic parameter registration
3. Dense renamed to Linear for PyTorch compatibility
4. Spatial helpers (flatten, max_pool2d) and Conv2d rename
5. Package organization with nn and optim modules
6. Modern API examples showing 50-70% code reduction
7. Complete export with working PyTorch-compatible interface
🎉 Students can now write PyTorch-like code while still implementing
all core algorithms (Conv2d, Linear, ReLU, Adam, autograd)
The API achieves the goal: clean professional interfaces that enhance
learning by reducing cognitive load on framework mechanics.
Stage 5 of TinyTorch API simplification:
- Created tinytorch.nn package with PyTorch-compatible interface
- Added Module base class in nn.modules for automatic parameter registration
- Added functional module with relu, flatten, max_pool2d operations
- Created tinytorch.optim package exposing Adam and SGD optimizers
- Updated main __init__.py to export nn and optim modules
- Linear and Conv2d now available through clean nn interface
Students can now write PyTorch-like code:
import tinytorch.nn as nn
import tinytorch.nn.functional as F
model = nn.Linear(784, 10)
x = F.relu(model(x))
Stage 5 of TinyTorch API simplification:
- Created tinytorch.nn package with PyTorch-compatible interface
- Added Module base class in nn.modules for automatic parameter registration
- Added functional module with relu, flatten, max_pool2d operations
- Created tinytorch.optim package exposing Adam and SGD optimizers
- Updated main __init__.py to export nn and optim modules
- Linear and Conv2d now available through clean nn interface
Students can now write PyTorch-like code:
import tinytorch.nn as nn
import tinytorch.nn.functional as F
model = nn.Linear(784, 10)
x = F.relu(model(x))
Stage 4 of TinyTorch API simplification:
- Added flatten() and max_pool2d() helper functions
- Renamed MultiChannelConv2D to Conv2d for PyTorch compatibility
- Updated Conv2d to inherit from Module base class
- Use Parameter() for weights and bias with automatic registration
- Added backward compatibility alias: MultiChannelConv2D = Conv2d
- Updated all test code to use Conv2d
- Exported changes to tinytorch.core.spatial
API now provides PyTorch-like spatial operations while maintaining
educational value of implementing core convolution algorithms.
Stage 4 of TinyTorch API simplification:
- Added flatten() and max_pool2d() helper functions
- Renamed MultiChannelConv2D to Conv2d for PyTorch compatibility
- Updated Conv2d to inherit from Module base class
- Use Parameter() for weights and bias with automatic registration
- Added backward compatibility alias: MultiChannelConv2D = Conv2d
- Updated all test code to use Conv2d
- Exported changes to tinytorch.core.spatial
API now provides PyTorch-like spatial operations while maintaining
educational value of implementing core convolution algorithms.
CRITICAL FIXES:
- Fixed Sigmoid activation Variable/Tensor data access issue
- Created working simple_test.py that achieves 100% XOR accuracy
- Verified autograd system works correctly (all tests pass)
VERIFIED ACHIEVEMENTS:
✅ XOR Network: 100% accuracy (4/4 correct predictions)
✅ Learning: Loss 0.2962 → 0.0625 (significant improvement)
✅ Convergence: Working in 100 iterations
TECHNICAL DETAILS:
- Fixed Variable data access in activations.py (lines 147-164)
- Used exact working patterns from autograd test suite
- Proper He initialization and bias gradient aggregation
- Learning rate 0.1, architecture 2→4→1
Team agent feedback was correct: examples must actually work!
Now have verified working XOR implementation for students.
CRITICAL FIXES:
- Fixed Sigmoid activation Variable/Tensor data access issue
- Created working simple_test.py that achieves 100% XOR accuracy
- Verified autograd system works correctly (all tests pass)
VERIFIED ACHIEVEMENTS:
✅ XOR Network: 100% accuracy (4/4 correct predictions)
✅ Learning: Loss 0.2962 → 0.0625 (significant improvement)
✅ Convergence: Working in 100 iterations
TECHNICAL DETAILS:
- Fixed Variable data access in activations.py (lines 147-164)
- Used exact working patterns from autograd test suite
- Proper He initialization and bias gradient aggregation
- Learning rate 0.1, architecture 2→4→1
Team agent feedback was correct: examples must actually work!
Now have verified working XOR implementation for students.
Committing all remaining autograd and training improvements:
- Fixed autograd bias gradient aggregation
- Updated optimizers to preserve parameter shapes
- Enhanced loss functions with Variable support
- Added comprehensive gradient shape tests
This commit preserves the working state before cleaning up
the examples directory structure.
Committing all remaining autograd and training improvements:
- Fixed autograd bias gradient aggregation
- Updated optimizers to preserve parameter shapes
- Enhanced loss functions with Variable support
- Added comprehensive gradient shape tests
This commit preserves the working state before cleaning up
the examples directory structure.
🛡️ **CRITICAL FIXES & PROTECTION SYSTEM**
**Core Variable/Tensor Compatibility Fixes:**
- Fix bias shape corruption in Adam optimizer (CIFAR-10 blocker)
- Add Variable/Tensor compatibility to matmul, ReLU, Softmax, MSE Loss
- Enable proper autograd support with gradient functions
- Resolve broadcasting errors with variable batch sizes
**Student Protection System:**
- Industry-standard file protection (read-only core files)
- Enhanced auto-generated warnings with prominent ASCII-art headers
- Git integration (pre-commit hooks, .gitattributes)
- VSCode editor protection and warnings
- Runtime validation system with import hooks
- Automatic protection during module exports
**CLI Integration:**
- New `tito system protect` command group
- Protection status, validation, and health checks
- Automatic protection enabled during `tito module complete`
- Non-blocking validation with helpful error messages
**Development Workflow:**
- Updated CLAUDE.md with protection guidelines
- Comprehensive validation scripts and health checks
- Clean separation of source vs compiled file editing
- Professional development practices enforcement
**Impact:**
✅ CIFAR-10 training now works reliably with variable batch sizes
✅ Students protected from accidentally breaking core functionality
✅ Professional development workflow with industry-standard practices
✅ Comprehensive testing and validation infrastructure
This enables reliable ML systems training while protecting students
from common mistakes that break the Variable/Tensor compatibility.
🛡️ **CRITICAL FIXES & PROTECTION SYSTEM**
**Core Variable/Tensor Compatibility Fixes:**
- Fix bias shape corruption in Adam optimizer (CIFAR-10 blocker)
- Add Variable/Tensor compatibility to matmul, ReLU, Softmax, MSE Loss
- Enable proper autograd support with gradient functions
- Resolve broadcasting errors with variable batch sizes
**Student Protection System:**
- Industry-standard file protection (read-only core files)
- Enhanced auto-generated warnings with prominent ASCII-art headers
- Git integration (pre-commit hooks, .gitattributes)
- VSCode editor protection and warnings
- Runtime validation system with import hooks
- Automatic protection during module exports
**CLI Integration:**
- New `tito system protect` command group
- Protection status, validation, and health checks
- Automatic protection enabled during `tito module complete`
- Non-blocking validation with helpful error messages
**Development Workflow:**
- Updated CLAUDE.md with protection guidelines
- Comprehensive validation scripts and health checks
- Clean separation of source vs compiled file editing
- Professional development practices enforcement
**Impact:**
✅ CIFAR-10 training now works reliably with variable batch sizes
✅ Students protected from accidentally breaking core functionality
✅ Professional development workflow with industry-standard practices
✅ Comprehensive testing and validation infrastructure
This enables reliable ML systems training while protecting students
from common mistakes that break the Variable/Tensor compatibility.
BREAKTHROUGH IMPLEMENTATION:
✅ Auto-generated warnings now added to ALL exported files automatically
✅ Clear source file paths shown in every tinytorch/ file header
✅ CLAUDE.md updated with crystal clear rules: tinytorch/ = edit modules/
✅ Export process now runs warnings BEFORE success message
SYSTEMATIC PREVENTION:
- Every exported file shows: AUTOGENERATED! DO NOT EDIT! File to edit: [source]
- THIS FILE IS AUTO-GENERATED FROM SOURCE MODULES - CHANGES WILL BE LOST!
- To modify this code, edit the source file listed above and run: tito module complete
WORKFLOW ENFORCEMENT:
- Golden rule established: If file path contains tinytorch/, DON'T EDIT IT DIRECTLY
- Automatic detection of 16 module mappings from tinytorch/ back to modules/source/
- Post-export processing ensures no exported file lacks protection warning
VALIDATION:
✅ Tested with multiple module exports - warnings added correctly
✅ All tinytorch/core/ files now protected with clear instructions
✅ Source file paths correctly mapped and displayed
This prevents ALL future source/compiled mismatch issues systematically.
BREAKTHROUGH IMPLEMENTATION:
✅ Auto-generated warnings now added to ALL exported files automatically
✅ Clear source file paths shown in every tinytorch/ file header
✅ CLAUDE.md updated with crystal clear rules: tinytorch/ = edit modules/
✅ Export process now runs warnings BEFORE success message
SYSTEMATIC PREVENTION:
- Every exported file shows: AUTOGENERATED! DO NOT EDIT! File to edit: [source]
- THIS FILE IS AUTO-GENERATED FROM SOURCE MODULES - CHANGES WILL BE LOST!
- To modify this code, edit the source file listed above and run: tito module complete
WORKFLOW ENFORCEMENT:
- Golden rule established: If file path contains tinytorch/, DON'T EDIT IT DIRECTLY
- Automatic detection of 16 module mappings from tinytorch/ back to modules/source/
- Post-export processing ensures no exported file lacks protection warning
VALIDATION:
✅ Tested with multiple module exports - warnings added correctly
✅ All tinytorch/core/ files now protected with clear instructions
✅ Source file paths correctly mapped and displayed
This prevents ALL future source/compiled mismatch issues systematically.
CRITICAL FIXES:
- Fixed Adam & SGD optimizers corrupting parameter shapes with variable batch sizes
- Root cause: param.data = Tensor() created new tensor with wrong shape
- Solution: Use param.data._data[:] = ... to preserve original shape
CLAUDE.md UPDATES:
- Added CRITICAL RULE: Never modify core files directly
- Established mandatory workflow: Edit source → Export → Test
- Clear consequences for violations to prevent source/compiled mismatch
TECHNICAL DETAILS:
- Source fix in modules/source/10_optimizers/optimizers_dev.py
- Temporary fix in tinytorch/core/optimizers.py (needs proper export)
- Preserves parameter shapes across all batch sizes
- Enables variable batch size training without broadcasting errors
VALIDATION:
- Created comprehensive test suite validating shape preservation
- All optimizer tests pass with arbitrary batch sizes
- Ready for CIFAR-10 training with variable batches
CRITICAL FIXES:
- Fixed Adam & SGD optimizers corrupting parameter shapes with variable batch sizes
- Root cause: param.data = Tensor() created new tensor with wrong shape
- Solution: Use param.data._data[:] = ... to preserve original shape
CLAUDE.md UPDATES:
- Added CRITICAL RULE: Never modify core files directly
- Established mandatory workflow: Edit source → Export → Test
- Clear consequences for violations to prevent source/compiled mismatch
TECHNICAL DETAILS:
- Source fix in modules/source/10_optimizers/optimizers_dev.py
- Temporary fix in tinytorch/core/optimizers.py (needs proper export)
- Preserves parameter shapes across all batch sizes
- Enables variable batch size training without broadcasting errors
VALIDATION:
- Created comprehensive test suite validating shape preservation
- All optimizer tests pass with arbitrary batch sizes
- Ready for CIFAR-10 training with variable batches