213 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
b3c8dfaa3d MILESTONE: Complete Phase 2 CNN training pipeline
 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
2025-09-23 18:33:56 -04:00
Vijay Janapa Reddi
c59d9a116a MILESTONE: Complete Phase 2 CNN training pipeline
 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
2025-09-23 18:33:56 -04:00
Vijay Janapa Reddi
5996efe122 Update Module 1 integration tests to match simplified implementation
- Adjust tests to match new 3-function simplified structure
- Test setup(), check_versions(), and get_info() functions
- Remove tests for complex functionality that was removed
- All tests now align with simplified Module 1 design

Module 1 is now clean, simple, and perfect for first day of class
2025-09-23 17:11:34 -04:00
Vijay Janapa Reddi
ca73817c83 Update Module 1 integration tests to match simplified implementation
- Adjust tests to match new 3-function simplified structure
- Test setup(), check_versions(), and get_info() functions
- Remove tests for complex functionality that was removed
- All tests now align with simplified Module 1 design

Module 1 is now clean, simple, and perfect for first day of class
2025-09-23 17:11:34 -04:00
Vijay Janapa Reddi
e82bc8ba97 Complete comprehensive system validation and cleanup
🎯 Major Accomplishments:
•  All 15 module dev files validated and unit tests passing
•  Comprehensive integration tests (11/11 pass)
•  All 3 examples working with PyTorch-like API (XOR, MNIST, CIFAR-10)
•  Training capability verified (4/4 tests pass, XOR shows 35.8% improvement)
•  Clean directory structure (modules/source/ → modules/)

🧹 Repository Cleanup:
• Removed experimental/debug files and old logos
• Deleted redundant documentation (API_SIMPLIFICATION_COMPLETE.md, etc.)
• Removed empty module directories and backup files
• Streamlined examples (kept modern API versions only)
• Cleaned up old TinyGPT implementation (moved to examples concept)

📊 Validation Results:
• Module unit tests: 15/15 
• Integration tests: 11/11 
• Example validation: 3/3 
• Training validation: 4/4 

🔧 Key Fixes:
• Fixed activations module requires_grad test
• Fixed networks module layer name test (Dense → Linear)
• Fixed spatial module Conv2D weights attribute issues
• Updated all documentation to reflect new structure

📁 Structure Improvements:
• Simplified modules/source/ → modules/ (removed unnecessary nesting)
• Added comprehensive validation test suites
• Created VALIDATION_COMPLETE.md and WORKING_MODULES.md documentation
• Updated book structure to reflect ML evolution story

🚀 System Status: READY FOR PRODUCTION
All components validated, examples working, training capability verified.
Test-first approach successfully implemented and proven.
2025-09-23 10:00:33 -04:00
Vijay Janapa Reddi
6d11a2be40 Complete comprehensive system validation and cleanup
🎯 Major Accomplishments:
•  All 15 module dev files validated and unit tests passing
•  Comprehensive integration tests (11/11 pass)
•  All 3 examples working with PyTorch-like API (XOR, MNIST, CIFAR-10)
•  Training capability verified (4/4 tests pass, XOR shows 35.8% improvement)
•  Clean directory structure (modules/source/ → modules/)

🧹 Repository Cleanup:
• Removed experimental/debug files and old logos
• Deleted redundant documentation (API_SIMPLIFICATION_COMPLETE.md, etc.)
• Removed empty module directories and backup files
• Streamlined examples (kept modern API versions only)
• Cleaned up old TinyGPT implementation (moved to examples concept)

📊 Validation Results:
• Module unit tests: 15/15 
• Integration tests: 11/11 
• Example validation: 3/3 
• Training validation: 4/4 

🔧 Key Fixes:
• Fixed activations module requires_grad test
• Fixed networks module layer name test (Dense → Linear)
• Fixed spatial module Conv2D weights attribute issues
• Updated all documentation to reflect new structure

📁 Structure Improvements:
• Simplified modules/source/ → modules/ (removed unnecessary nesting)
• Added comprehensive validation test suites
• Created VALIDATION_COMPLETE.md and WORKING_MODULES.md documentation
• Updated book structure to reflect ML evolution story

🚀 System Status: READY FOR PRODUCTION
All components validated, examples working, training capability verified.
Test-first approach successfully implemented and proven.
2025-09-23 10:00:33 -04:00
Vijay Janapa Reddi
89e510929f Complete comprehensive testing for API simplification
Added full test suite following TinyTorch testing conventions:

 UNIT TESTS (test_api_simplification.py):
- 23 comprehensive tests covering all API components
- Tests Parameter function, Module base class, Linear/Conv2d layers
- Tests functional interface (F.relu, F.flatten, F.max_pool2d)
- Tests optimizer integration and backward compatibility
- Tests complete model workflows (MLP, CNN)

 INTEGRATION TESTS (test_api_simplification_integration.py):
- Cross-component integration testing
- Complete workflow validation (model → optimizer → training setup)
- PyTorch compatibility verification
- Nested module parameter collection testing

 EXAMPLE FIXES:
- Fixed optimizer parameter names (lr → learning_rate)
- Examples demonstrate real-world usage patterns
- Show dramatic code simplification vs old API

🎯 TEST RESULTS:
- Unit Tests: 23/23 PASS 
- Integration Tests: 8/8 PASS 
- API simplification validated with comprehensive coverage

The testing validates that the API simplification maintains educational
value while providing clean PyTorch-compatible interfaces.
2025-09-23 08:24:50 -04:00
Vijay Janapa Reddi
0357591991 Complete comprehensive testing for API simplification
Added full test suite following TinyTorch testing conventions:

 UNIT TESTS (test_api_simplification.py):
- 23 comprehensive tests covering all API components
- Tests Parameter function, Module base class, Linear/Conv2d layers
- Tests functional interface (F.relu, F.flatten, F.max_pool2d)
- Tests optimizer integration and backward compatibility
- Tests complete model workflows (MLP, CNN)

 INTEGRATION TESTS (test_api_simplification_integration.py):
- Cross-component integration testing
- Complete workflow validation (model → optimizer → training setup)
- PyTorch compatibility verification
- Nested module parameter collection testing

 EXAMPLE FIXES:
- Fixed optimizer parameter names (lr → learning_rate)
- Examples demonstrate real-world usage patterns
- Show dramatic code simplification vs old API

🎯 TEST RESULTS:
- Unit Tests: 23/23 PASS 
- Integration Tests: 8/8 PASS 
- API simplification validated with comprehensive coverage

The testing validates that the API simplification maintains educational
value while providing clean PyTorch-compatible interfaces.
2025-09-23 08:24:50 -04:00
Vijay Janapa Reddi
92781736a1 Restructure TinyTorch: Move TinyGPT to examples, improve testing framework
Major changes:
- Moved TinyGPT from Module 16 to examples/tinygpt (capstone demo)
- Fixed Module 10 (optimizers) and Module 11 (training) bugs
- All 16 modules now passing tests (100% health)
- Added comprehensive testing with 'tito test --comprehensive'
- Renamed example files for clarity (train_xor_network.py, etc.)
- Created working TinyGPT example structure
- Updated documentation to reflect 15 core modules + examples
- Added KISS principle and testing framework documentation
2025-09-22 09:37:18 -04:00
Vijay Janapa Reddi
2cdde18101 Restructure TinyTorch: Move TinyGPT to examples, improve testing framework
Major changes:
- Moved TinyGPT from Module 16 to examples/tinygpt (capstone demo)
- Fixed Module 10 (optimizers) and Module 11 (training) bugs
- All 16 modules now passing tests (100% health)
- Added comprehensive testing with 'tito test --comprehensive'
- Renamed example files for clarity (train_xor_network.py, etc.)
- Created working TinyGPT example structure
- Updated documentation to reflect 15 core modules + examples
- Added KISS principle and testing framework documentation
2025-09-22 09:37:18 -04:00
Vijay Janapa Reddi
93711f4efe Save current state before examples cleanup
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.
2025-09-21 15:45:23 -04:00
Vijay Janapa Reddi
016ee95a1d Save current state before examples cleanup
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.
2025-09-21 15:45:23 -04:00
Vijay Janapa Reddi
86b908fe5c Add TinyTorch examples gallery and fix module integration issues
- Create professional examples directory showcasing TinyTorch as real ML framework
- Add examples: XOR, MNIST, CIFAR-10, text generation, autograd demo, optimizer comparison
- Fix import paths in exported modules (training.py, dense.py)
- Update training module with autograd integration for loss functions
- Add progressive integration tests for all 16 modules
- Document framework capabilities and usage patterns

This commit establishes the examples gallery that demonstrates TinyTorch
works like PyTorch/TensorFlow, validating the complete framework.
2025-09-21 10:00:11 -04:00
Vijay Janapa Reddi
9361cbf987 Add TinyTorch examples gallery and fix module integration issues
- Create professional examples directory showcasing TinyTorch as real ML framework
- Add examples: XOR, MNIST, CIFAR-10, text generation, autograd demo, optimizer comparison
- Fix import paths in exported modules (training.py, dense.py)
- Update training module with autograd integration for loss functions
- Add progressive integration tests for all 16 modules
- Document framework capabilities and usage patterns

This commit establishes the examples gallery that demonstrates TinyTorch
works like PyTorch/TensorFlow, validating the complete framework.
2025-09-21 10:00:11 -04:00
Vijay Janapa Reddi
380ce24701 Prepare for v0.1 release
Documentation:
• Add comprehensive student quickstart guide
• Create instructor guide with grading workflow
• Update README with v0.1 features and capabilities
• Document interactive ML Systems questions
• Add tito grade command documentation

Cleanup:
• Remove __pycache__ directories (1073 removed)
• Clean .ipynb_checkpoints
• Remove experimental Python files
• Clean up temporary files (.pyc, .DS_Store)

Features in v0.1:
• 17 educational modules from tensors to transformers
• Interactive ML Systems thinking questions (NBGrader)
• TinyGPT demonstrating 70% framework reuse
• 16-checkpoint capability progression system
• Simplified tito CLI wrapping all functionality
• Complete instructor grading workflow

Ready for v0.1 release tag.
2025-09-17 19:29:16 -04:00
Vijay Janapa Reddi
c3fa592a5e Prepare for v0.1 release
Documentation:
• Add comprehensive student quickstart guide
• Create instructor guide with grading workflow
• Update README with v0.1 features and capabilities
• Document interactive ML Systems questions
• Add tito grade command documentation

Cleanup:
• Remove __pycache__ directories (1073 removed)
• Clean .ipynb_checkpoints
• Remove experimental Python files
• Clean up temporary files (.pyc, .DS_Store)

Features in v0.1:
• 17 educational modules from tensors to transformers
• Interactive ML Systems thinking questions (NBGrader)
• TinyGPT demonstrating 70% framework reuse
• 16-checkpoint capability progression system
• Simplified tito CLI wrapping all functionality
• Complete instructor grading workflow

Ready for v0.1 release tag.
2025-09-17 19:29:16 -04:00
Vijay Janapa Reddi
4de61031d1 Implement interactive ML Systems questions and standardize module structure
Major Educational Framework Enhancements:
• Deploy interactive NBGrader text response questions across ALL modules
• Replace passive question lists with active 150-300 word student responses
• Enable comprehensive ML Systems learning assessment and grading

TinyGPT Integration (Module 16):
• Complete TinyGPT implementation showing 70% component reuse from TinyTorch
• Demonstrates vision-to-language framework generalization principles
• Full transformer architecture with attention, tokenization, and generation
• Shakespeare demo showing autoregressive text generation capabilities

Module Structure Standardization:
• Fix section ordering across all modules: Tests → Questions → Summary
• Ensure Module Summary is always the final section for consistency
• Standardize comprehensive testing patterns before educational content

Interactive Question Implementation:
• 3 focused questions per module replacing 10-15 passive questions
• NBGrader integration with manual grading workflow for text responses
• Questions target ML Systems thinking: scaling, deployment, optimization
• Cumulative knowledge building across the 16-module progression

Technical Infrastructure:
• TPM agent for coordinated multi-agent development workflows
• Enhanced documentation with pedagogical design principles
• Updated book structure to include TinyGPT as capstone demonstration
• Comprehensive QA validation of all module structures

Framework Design Insights:
• Mathematical unity: Dense layers power both vision and language models
• Attention as key innovation for sequential relationship modeling
• Production-ready patterns: training loops, optimization, evaluation
• System-level thinking: memory, performance, scaling considerations

Educational Impact:
• Transform passive learning to active engagement through written responses
• Enable instructors to assess deep ML Systems understanding
• Provide clear progression from foundations to complete language models
• Demonstrate real-world framework design principles and trade-offs
2025-09-17 14:42:24 -04:00
Vijay Janapa Reddi
d04d66a716 Implement interactive ML Systems questions and standardize module structure
Major Educational Framework Enhancements:
• Deploy interactive NBGrader text response questions across ALL modules
• Replace passive question lists with active 150-300 word student responses
• Enable comprehensive ML Systems learning assessment and grading

TinyGPT Integration (Module 16):
• Complete TinyGPT implementation showing 70% component reuse from TinyTorch
• Demonstrates vision-to-language framework generalization principles
• Full transformer architecture with attention, tokenization, and generation
• Shakespeare demo showing autoregressive text generation capabilities

Module Structure Standardization:
• Fix section ordering across all modules: Tests → Questions → Summary
• Ensure Module Summary is always the final section for consistency
• Standardize comprehensive testing patterns before educational content

Interactive Question Implementation:
• 3 focused questions per module replacing 10-15 passive questions
• NBGrader integration with manual grading workflow for text responses
• Questions target ML Systems thinking: scaling, deployment, optimization
• Cumulative knowledge building across the 16-module progression

Technical Infrastructure:
• TPM agent for coordinated multi-agent development workflows
• Enhanced documentation with pedagogical design principles
• Updated book structure to include TinyGPT as capstone demonstration
• Comprehensive QA validation of all module structures

Framework Design Insights:
• Mathematical unity: Dense layers power both vision and language models
• Attention as key innovation for sequential relationship modeling
• Production-ready patterns: training loops, optimization, evaluation
• System-level thinking: memory, performance, scaling considerations

Educational Impact:
• Transform passive learning to active engagement through written responses
• Enable instructors to assess deep ML Systems understanding
• Provide clear progression from foundations to complete language models
• Demonstrate real-world framework design principles and trade-offs
2025-09-17 14:42:24 -04:00
Vijay Janapa Reddi
95b7edee02 Implement Package Manager integration testing system
Features:
- Module-level integration tests for immediate validation
- Two-tier validation: integration tests + checkpoint tests
- Quick package validation after every module completion
- Comprehensive integration test suite for all modules
- Package Manager coordination and test running

Two-Tier System:
1. Integration Test (Package Manager) - "Module works in package"
   - Quick validation (< 1 second)
   - Import validation and basic functionality
   - No conflicts with other modules

2. Checkpoint Test (existing) - "Complete capability unlocked"
   - Comprehensive validation (2-10 seconds)
   - End-to-end workflows and multi-module capabilities
   - Major milestone achievements

CLI Workflow:
- tito module complete 02_tensor
- → Export + Integration test + Checkpoint test
- → Two-tier results with different messaging
- → Immediate feedback + capability celebrations

Integration:
- 15 module integration tests covering complete course
- Package health validation and dependency checking
- Clean separation from checkpoint capability testing
- Professional Package Manager workflow
2025-09-16 21:32:08 -04:00
Vijay Janapa Reddi
e0998417ca Implement Package Manager integration testing system
Features:
- Module-level integration tests for immediate validation
- Two-tier validation: integration tests + checkpoint tests
- Quick package validation after every module completion
- Comprehensive integration test suite for all modules
- Package Manager coordination and test running

Two-Tier System:
1. Integration Test (Package Manager) - "Module works in package"
   - Quick validation (< 1 second)
   - Import validation and basic functionality
   - No conflicts with other modules

2. Checkpoint Test (existing) - "Complete capability unlocked"
   - Comprehensive validation (2-10 seconds)
   - End-to-end workflows and multi-module capabilities
   - Major milestone achievements

CLI Workflow:
- tito module complete 02_tensor
- → Export + Integration test + Checkpoint test
- → Two-tier results with different messaging
- → Immediate feedback + capability celebrations

Integration:
- 15 module integration tests covering complete course
- Package health validation and dependency checking
- Clean separation from checkpoint capability testing
- Professional Package Manager workflow
2025-09-16 21:32:08 -04:00
Vijay Janapa Reddi
824b489062 Implement comprehensive checkpoint system with CLI integration
Features:
- 16 checkpoint test suite validating ML systems capabilities
- Integration tests covering complete learning progression
- Rich CLI progress tracking with visual timelines
- Capability-driven assessment from environment to production

Checkpoints:
- Environment setup through full ML system deployment
- Each checkpoint validates integrated functionality
- Progressive capability building with clear success criteria
- Professional CLI interface with status/timeline/test commands
2025-09-16 21:02:11 -04:00
Vijay Janapa Reddi
b4b920c64d Implement comprehensive checkpoint system with CLI integration
Features:
- 16 checkpoint test suite validating ML systems capabilities
- Integration tests covering complete learning progression
- Rich CLI progress tracking with visual timelines
- Capability-driven assessment from environment to production

Checkpoints:
- Environment setup through full ML system deployment
- Each checkpoint validates integrated functionality
- Progressive capability building with clear success criteria
- Professional CLI interface with status/timeline/test commands
2025-09-16 21:02:11 -04:00
Vijay Janapa Reddi
2cb77a03c9 Add comprehensive checkpoint integration testing
- Created test_checkpoint_integration.py to validate all checkpoint achievements
- Tests verify module existence, package exports, and capabilities
- Validates progressive learning journey from Foundation to Serving
- Ensures each checkpoint delivers its promised ML systems capability
- Confirmed all production modules (12, 13, 15) are fully functional with solutions
2025-09-16 14:10:07 -04:00
Vijay Janapa Reddi
2130d8fc38 Add comprehensive checkpoint integration testing
- Created test_checkpoint_integration.py to validate all checkpoint achievements
- Tests verify module existence, package exports, and capabilities
- Validates progressive learning journey from Foundation to Serving
- Ensures each checkpoint delivers its promised ML systems capability
- Confirmed all production modules (12, 13, 15) are fully functional with solutions
2025-09-16 14:10:07 -04:00
Vijay Janapa Reddi
f9309e8b9d 🔧 Complete module restructuring and integration fixes
📦 Module File Organization:
- Renamed networks_dev.py → dense_dev.py in 05_dense module
- Renamed cnn_dev.py → spatial_dev.py in 06_spatial module
- Added new 07_attention module with attention_dev.py
- Updated module.yaml files to reference correct filenames
- Updated #| default_exp directives for proper package exports

🔄 Core Package Updates:
- Added tinytorch.core.dense (Sequential, MLP architectures)
- Added tinytorch.core.spatial (Conv2D, pooling operations)
- Added tinytorch.core.attention (self-attention mechanisms)
- Updated all core modules with latest implementations
- Fixed tensor assignment issues in compression module

🧪 Test Integration Fixes:
- Updated integration tests to use correct module imports
- Fixed tensor activation tests for new module structure
- Ensured compatibility with renamed components
- Maintained 100% individual module test success rate

Result: Complete 14-module TinyTorch framework with proper organization,
working integrations, and comprehensive test coverage ready for production use.
2025-07-18 02:10:49 -04:00
Vijay Janapa Reddi
d4d6277604 🔧 Complete module restructuring and integration fixes
📦 Module File Organization:
- Renamed networks_dev.py → dense_dev.py in 05_dense module
- Renamed cnn_dev.py → spatial_dev.py in 06_spatial module
- Added new 07_attention module with attention_dev.py
- Updated module.yaml files to reference correct filenames
- Updated #| default_exp directives for proper package exports

🔄 Core Package Updates:
- Added tinytorch.core.dense (Sequential, MLP architectures)
- Added tinytorch.core.spatial (Conv2D, pooling operations)
- Added tinytorch.core.attention (self-attention mechanisms)
- Updated all core modules with latest implementations
- Fixed tensor assignment issues in compression module

🧪 Test Integration Fixes:
- Updated integration tests to use correct module imports
- Fixed tensor activation tests for new module structure
- Ensured compatibility with renamed components
- Maintained 100% individual module test success rate

Result: Complete 14-module TinyTorch framework with proper organization,
working integrations, and comprehensive test coverage ready for production use.
2025-07-18 02:10:49 -04:00
Vijay Janapa Reddi
6bd628174d Fix module file naming and tensor assignment issues
- Updated module.yaml files for 05_dense and 06_spatial to reference correct dev file names
- Fixed #| default_exp directives in dense_dev.py and spatial_dev.py to export to correct module names
- Fixed tensor assignment issues in 12_compression module by creating new Tensor objects instead of trying to assign to .data property
- Removed missing function imports from autograd integration test
- All individual module tests now pass (01_setup through 14_benchmarking)
- Generated correct module files: dense.py, spatial.py, attention.py
2025-07-18 01:56:07 -04:00
Vijay Janapa Reddi
442e860d5f Fix module file naming and tensor assignment issues
- Updated module.yaml files for 05_dense and 06_spatial to reference correct dev file names
- Fixed #| default_exp directives in dense_dev.py and spatial_dev.py to export to correct module names
- Fixed tensor assignment issues in 12_compression module by creating new Tensor objects instead of trying to assign to .data property
- Removed missing function imports from autograd integration test
- All individual module tests now pass (01_setup through 14_benchmarking)
- Generated correct module files: dense.py, spatial.py, attention.py
2025-07-18 01:56:07 -04:00
Vijay Janapa Reddi
49f7f5f3dc refactor: Focus integration tests on cross-module interfaces not functionality
 Refactored test_tensor_activations_integration.py:
- Changed from re-testing activation math to testing Tensor-Activation interfaces
- Focus on: Tensor input → Activation → Tensor output compatibility
- Test dtype preservation, shape preservation, chaining, error handling
- Test activation outputs work with further Tensor operations

 Refactored test_layers_networks_integration.py:
- Changed from re-testing layer/network logic to testing Layer-Dense interfaces
- Focus on: Dense layer → Sequential network → MLP composition
- Test layer output as network input, network output as layer input
- Test multi-stage pipelines, parallel processing, modular replacement

Integration tests now properly focus on:
 Cross-module interface compatibility (not individual functionality)
 Data flow and pipeline integration between modules
 Shape/dtype preservation across module boundaries
 System-level workflows and architectural patterns
 Error handling when modules are incompatibly connected
 Component modularity and interchangeability

Establishes proper integration testing philosophy: test that modules work TOGETHER, not what individual modules do (that's for inline tests).
2025-07-18 00:29:52 -04:00
Vijay Janapa Reddi
5c20608776 refactor: Focus integration tests on cross-module interfaces not functionality
 Refactored test_tensor_activations_integration.py:
- Changed from re-testing activation math to testing Tensor-Activation interfaces
- Focus on: Tensor input → Activation → Tensor output compatibility
- Test dtype preservation, shape preservation, chaining, error handling
- Test activation outputs work with further Tensor operations

 Refactored test_layers_networks_integration.py:
- Changed from re-testing layer/network logic to testing Layer-Dense interfaces
- Focus on: Dense layer → Sequential network → MLP composition
- Test layer output as network input, network output as layer input
- Test multi-stage pipelines, parallel processing, modular replacement

Integration tests now properly focus on:
 Cross-module interface compatibility (not individual functionality)
 Data flow and pipeline integration between modules
 Shape/dtype preservation across module boundaries
 System-level workflows and architectural patterns
 Error handling when modules are incompatibly connected
 Component modularity and interchangeability

Establishes proper integration testing philosophy: test that modules work TOGETHER, not what individual modules do (that's for inline tests).
2025-07-18 00:29:52 -04:00
Vijay Janapa Reddi
7222cb3b73 refactor: Focus attention integration tests on cross-module interfaces
 Refactored test_tensor_attention_integration.py:
- Changed from re-testing attention functionality to testing interface compatibility
- Focus on: Tensor.data → Attention → numpy → Tensor roundtrip compatibility
- Test data type preservation across modules (float32, float64)
- Test shape preservation and error handling at interfaces
- Test that attention outputs can be converted back to Tensors

 Refactored test_attention_pipeline_integration.py:
- Changed from testing transformer algorithms to testing module pipelines
- Focus on: Attention → Dense → Activation integration workflows
- Test encoder-decoder patterns using multiple TinyTorch modules
- Test multi-layer workflows with residual connections
- Test data flow compatibility and modular component replacement

Integration tests now properly focus on:
 Interface compatibility (not functionality re-testing)
 Cross-module data flow and pipeline integration
 System-level workflows using multiple modules
 Shape/dtype preservation across module boundaries
 Error handling when modules are incompatibly connected

Follows integration testing best practices: test that modules work together, not what individual modules do.
2025-07-18 00:27:51 -04:00
Vijay Janapa Reddi
f7ae25771f refactor: Focus attention integration tests on cross-module interfaces
 Refactored test_tensor_attention_integration.py:
- Changed from re-testing attention functionality to testing interface compatibility
- Focus on: Tensor.data → Attention → numpy → Tensor roundtrip compatibility
- Test data type preservation across modules (float32, float64)
- Test shape preservation and error handling at interfaces
- Test that attention outputs can be converted back to Tensors

 Refactored test_attention_pipeline_integration.py:
- Changed from testing transformer algorithms to testing module pipelines
- Focus on: Attention → Dense → Activation integration workflows
- Test encoder-decoder patterns using multiple TinyTorch modules
- Test multi-layer workflows with residual connections
- Test data flow compatibility and modular component replacement

Integration tests now properly focus on:
 Interface compatibility (not functionality re-testing)
 Cross-module data flow and pipeline integration
 System-level workflows using multiple modules
 Shape/dtype preservation across module boundaries
 Error handling when modules are incompatibly connected

Follows integration testing best practices: test that modules work together, not what individual modules do.
2025-07-18 00:27:51 -04:00
Vijay Janapa Reddi
e779d67dcf feat: Add comprehensive integration tests for attention module
 Created test_tensor_attention_integration.py:
- Basic tensor-attention integration with real TinyTorch components
- Self-attention wrapper testing with proper Tensor objects
- Attention masking integration (causal, padding, bidirectional)
- Batched tensor processing and different data types
- Numerical stability and gradient flow compatibility

 Created test_attention_pipeline_integration.py:
- Complete transformer-like pipeline testing
- Multi-layer attention stacks (transformer encoders)
- Causal masking for language modeling workflows
- Encoder-decoder architecture integration
- Cross-module integration with dense layers and activations
- Real-world scenarios: sequence classification, seq2seq translation
- Scalability testing across different sequence lengths and dimensions

 Updated tests/README.md:
- Documented new attention integration tests (15→17 total tests)
- Organized tests by category (Foundation, Architecture, Training, Inference Serving)
- Added specific usage examples for attention tests
- Clear documentation of test coverage and purpose

Integration tests ensure:
- Attention works with real Tensor objects (not mocks)
- Cross-module compatibility with dense, spatial, activations
- Complete ML workflows (classification, translation, transformers)
- Realistic transformer architectures and patterns
- System-level regression detection for attention functionality
2025-07-18 00:21:48 -04:00
Vijay Janapa Reddi
a9ee348355 feat: Add comprehensive integration tests for attention module
 Created test_tensor_attention_integration.py:
- Basic tensor-attention integration with real TinyTorch components
- Self-attention wrapper testing with proper Tensor objects
- Attention masking integration (causal, padding, bidirectional)
- Batched tensor processing and different data types
- Numerical stability and gradient flow compatibility

 Created test_attention_pipeline_integration.py:
- Complete transformer-like pipeline testing
- Multi-layer attention stacks (transformer encoders)
- Causal masking for language modeling workflows
- Encoder-decoder architecture integration
- Cross-module integration with dense layers and activations
- Real-world scenarios: sequence classification, seq2seq translation
- Scalability testing across different sequence lengths and dimensions

 Updated tests/README.md:
- Documented new attention integration tests (15→17 total tests)
- Organized tests by category (Foundation, Architecture, Training, Inference Serving)
- Added specific usage examples for attention tests
- Clear documentation of test coverage and purpose

Integration tests ensure:
- Attention works with real Tensor objects (not mocks)
- Cross-module compatibility with dense, spatial, activations
- Complete ML workflows (classification, translation, transformers)
- Realistic transformer architectures and patterns
- System-level regression detection for attention functionality
2025-07-18 00:21:48 -04:00
Vijay Janapa Reddi
4912f794d2 🛡️ Add protection for critical tests/ directory
- Add tests/README.md with clear warnings and recovery instructions
- Add tests/.gitkeep to ensure directory is always tracked
- Protect 15 integration test files (~100KB valuable code)
- Provide git recovery commands if accidentally deleted

Addresses risk mitigation while keeping standard Python conventions.
2025-07-15 10:03:05 -04:00
Vijay Janapa Reddi
2a9e2a805d feat: Fix majority of integration tests - 125/150 passing
- Updated all integration tests to use tinytorch package imports only
- Fixed tensor-activations integration: 10/10 tests passing 
- Fixed compression integration: 8/8 tests passing 
- Fixed layers-networks integration: 12/12 tests passing 
- Fixed CNN networks integration: 12/12 tests passing 
- Fixed dataloader-tensor integration: 16/16 tests passing 
- Fixed training integration: 17/17 tests passing 
- Fixed tensor-autograd integration: 14/14 tests passing 
- Fixed tensor-CNN integration: 13/13 tests passing 
- Fixed CNN pipeline integration: 6/6 tests passing 
- Fixed ML pipeline integration: 13/13 tests passing 

Remaining: 25 failing tests in benchmarking, kernels, and MLOps modules
- API mismatches between test expectations and actual module interfaces
- Need to align test assertions with actual class attributes/methods

Total: 125/150 tests passing (83% success rate)
2025-07-14 23:45:43 -04:00
Vijay Janapa Reddi
05391eb550 feat: Restructure integration tests and optimize module timing
- Flattened tests/ directory structure (removed integration/ and system/ subdirectories)
- Renamed all integration tests with _integration.py suffix for clarity
- Created test_utils.py with setup_integration_test() function
- Updated integration tests to use ONLY tinytorch package imports
- Ensured all modules are exported before running tests via tito export --all
- Optimized module test timing for fast execution (under 5 seconds each)
- Fixed MLOps test reliability and reduced timing parameters across modules
- Exported all modules (compression, kernels, benchmarking, mlops) to tinytorch package
2025-07-14 23:37:50 -04:00
Vijay Janapa Reddi
5482bb2b38 Fix training integration tests - all 17 tests now passing
- Fixed SimpleDataset usage in classification, regression, and validation tests
- Replaced custom dataset classes with proper DataLoader usage
- Updated model architectures to match SimpleDataset defaults (4 features, 3 classes)
- All training integration tests now pass successfully
2025-07-14 19:39:18 -04:00
Vijay Janapa Reddi
5b624f95d7 Add benchmarking test report generated by integration tests 2025-07-14 19:26:19 -04:00
Vijay Janapa Reddi
d25354782a Add comprehensive MLOps integration tests
- Complete integration tests for 13_mlops module
- Test MLOps pipeline with all TinyTorch components (00-12)
- Include ModelMonitor, DriftDetector, RetrainingTrigger, MLOpsPipeline
- Test integration with benchmarking framework
- Test with different network architectures and complexity
- Follow established integration test patterns
- Comprehensive summary test demonstrating complete system integration
2025-07-14 19:21:08 -04:00
Vijay Janapa Reddi
1c81bfbec1 Fix MLOps module ending and add benchmarking integration tests
- Update MLOps module ending to match standard TinyTorch module format
- Remove verbose ending text, use concise professional summary
- Add comprehensive benchmarking integration tests
- Test benchmarking framework with real TinyTorch components
- Include tests for kernels, networks, and statistical validation
- Follow established integration test patterns
2025-07-14 19:19:28 -04:00
Vijay Janapa Reddi
1f58841e65 Clean up module configurations and add kernels integration tests
- Standardize module.yaml files (11-13) to match concise format of early modules
- Remove verbose sections, keep essential metadata only
- Update kernels README to match TinyTorch module style standards
- Add comprehensive integration tests for kernels module
- Test hardware-optimized operations with real TinyTorch components
- Prepare for systematic integration testing across all modules
2025-07-14 19:12:20 -04:00
Vijay Janapa Reddi
f674f8557c Add comprehensive integration tests for compression module
- Tests real integration with TinyTorch components
- 8 passing integration tests covering:
  * CompressionMetrics with real Tensor networks
  * Comprehensive comparison pipeline
  * DistillationLoss with real network components
  * Edge cases and network structure preservation
- Focuses on functionality that works with real components
- Validates compression techniques work end-to-end
- All tests pass (8/8) with minimal warnings
2025-07-14 09:48:19 -04:00
Vijay Janapa Reddi
9b245fe5ea Create complete training module with loss functions, metrics, and training loop
- Add training_dev.py with comprehensive educational structure
- Implement MeanSquaredError, CrossEntropyLoss, BinaryCrossEntropyLoss
- Add Accuracy metric with extensible framework
- Create Trainer class for complete training orchestration
- Include comprehensive inline tests for all components
- Add module.yaml with proper dependencies and metadata
- Create detailed README.md with examples and applications
- Add test_training_integration.py with real component integration tests
- Follow TinyTorch NBDev educational pattern with Build → Use → Optimize
- Ready for real-world training workflows with validation and monitoring
2025-07-14 00:42:46 -04:00
Vijay Janapa Reddi
6f8494cff8 Create CNN integration tests and move inline cross-module tests
- Add test_cnn_networks.py: Comprehensive CNN ↔ Networks integration tests
  - Conv2D layers in Sequential networks
  - Multiple Conv2D stacking, different activations
  - Batch processing, kernel sizes, feature extraction
  - Parameter efficiency comparisons, edge cases

- Add test_cnn_pipeline.py: CNN pipeline integration tests
  - CNN → Activation → Flatten → Dense pipelines
  - Deep CNN architectures with multiple stages
  - Numerical stability testing, batch processing
  - Moved from inline test in cnn_dev.py (proper separation)

- Update cnn_dev.py: Remove inline integration test
  - Replaced cross-module integration test with comment
  - Maintains clean separation between unit and integration tests

- Clean up test structure: Remove unused e2e/__init__.py

Result: Complete integration test coverage for CNN interactions
96 passing integration tests using real TinyTorch components
2025-07-13 23:54:22 -04:00
Vijay Janapa Reddi
e5258bf2a2 Add comprehensive integration tests for missing component interactions
Level 1 (Core Data Flow Integration):
- test_tensor_cnn.py: Tests Tensor ↔ CNN operations (Conv2D, flatten) with real tensors
- test_tensor_autograd.py: Tests Tensor ↔ Autograd (Variable wrapping, forward/backward passes)
- test_dataloader_tensor.py: Tests DataLoader ↔ Tensors (real data pipeline producing tensors)

QA-structured tests with realistic scenarios:
- Shape handling and data type preservation
- Error handling and edge cases
- Realistic ML pipeline integration
- Batch processing and memory efficiency
- Complex architectures and training scenarios

Total: 43 new focused integration tests (13 + 14 + 16)
Result: 77/79 integration tests passing (98% success rate)
Missing tests now covered: real component integration vs mock-based testing
2025-07-13 23:26:38 -04:00
Vijay Janapa Reddi
91981069e0 Remove redundant test_setup.py
- Removed test_setup.py as it duplicated inline tests without integration value
- Setup module functions already comprehensively tested in setup_dev.py inline tests
- Maintains clean test architecture: inline (unit) → integration (cross-module) → e2e (workflows)
- Final count: 39 focused integration tests vs previous mix of unit/integration
2025-07-13 23:15:33 -04:00
Vijay Janapa Reddi
d1f587c55d Reorganize tests: Remove mocks, add real integration tests
REMOVED (Mock-based tests that duplicate inline tests):
• test_activations.py - Used MockTensor instead of real Tensor
• test_layers.py - Used MockTensor instead of real Tensor
• test_networks.py - Used MockTensor/MockLayer instead of real components
• test_cnn.py - Used MockTensor instead of real Tensor
• test_dataloader.py - Used MockTensor/MockDataset instead of real components

ADDED (Real integration tests with actual TinyTorch components):
• integration/test_tensor_activations.py - Tests real Tensor ↔ Activations integration
• integration/test_layers_networks.py - Tests real Dense ↔ Sequential/MLP integration
• e2e/ directory structure for end-to-end tests

RESULT:
• Reduced test count from 209 → 70 (removed 139 redundant mock-based tests)
• All 70 remaining tests use real components for true integration testing
• Clear separation: inline tests (component validation) vs integration tests (cross-module)
• Better QA structure following proper testing pyramid

This follows QA best practices: since all modules are working and building on each
other, integration tests should use real components, not mocks. Mocks were preventing
us from catching actual integration issues.
2025-07-13 23:10:14 -04:00
Vijay Janapa Reddi
a0ca20ab9f Clean up extreme and unreasonable tests in tests/ directory
Removed/simplified overly extreme tests that don't add educational value:

• test_setup.py:
  - Removed brittle performance tests with specific timing requirements
  - Removed complex memory usage profiling tests
  - Kept reasonable system accuracy tests

• test_layers.py:
  - Simplified large batch test (1000 → 32 batch size)
  - Reduced input/output dimensions to realistic educational sizes
  - Kept important behavior tests (weight immutability, etc.)

• test_dataloader.py:
  - Removed timing-based performance tests
  - Simplified scalability tests (1000 → 100 max dataset size)
  - Renamed tests for clarity (memory_efficiency → functionality)

• test_cnn.py:
  - Removed incomplete mathematical property tests
  - Eliminated conceptual tests that don't actually verify properties
  - Kept solid functional and integration tests

Results: 214 → 209 tests, all still passing (100% success rate)
Focus on reasonable scenarios that students will encounter in practice.
2025-07-13 23:01:10 -04:00
Vijay Janapa Reddi
1cbf3972c1 fix: resolve 06_dataloader external test failures completely
🎯 Issues Fixed:
1. MockTensor Scalar Handling: Fix np.array([data]) → np.array(data) for scalar shape ()
2. Index Bounds Validation: Add negative index check (index < 0) to MockDataset.__getitem__
3. DataLoader Input Validation: Add proper validation for batch_size > 0 and dataset ≠ None

 Impact: 06_dataloader external tests now pass 28/28 (was 19/28)

🔧 Technical Changes:
- MockTensor: Handle scalars correctly to create shape () instead of (1,)
- MockDataset: Validate negative indices to raise IndexError as expected
- DataLoader: Add robust input validation with proper error messages
- All issues were legitimate implementation problems, not test issues

This completes the systematic external test fixing across all 4 modules with failures.
2025-07-13 22:20:54 -04:00