Commit Graph

7 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
f76f416a39 Fix tensor module indentation and test compatibility
- Fixed indentation error in tensor module add method
- Updated networks test import to use correct function name
- Most tests now passing with only minor edge case failures
2025-07-12 22:25:50 -04:00
Vijay Janapa Reddi
7b76a11bcd Enhance tensor module with comprehensive mathematical foundations
- Added detailed mathematical progression from scalars to higher-order tensors
- Enhanced conceptual explanations with real-world ML applications
- Improved tensor class design with comprehensive requirements analysis
- Added extensive arithmetic operations section with broadcasting and performance considerations
- Connected to industry frameworks (PyTorch, TensorFlow, JAX)
- Improved learning scaffolding with step-by-step implementation guidance
2025-07-12 21:10:22 -04:00
Vijay Janapa Reddi
d86eb696b7 Standardize inline test naming and ensure progressive testing structure
 STANDARDIZED TESTING ARCHITECTURE:
- All inline tests now use consistent 'Unit Test: [Component]' naming
- Progressive testing: small portions tested as students implement
- Consistent print statements with �� Unit Test: format

 PROGRESSIVE TESTING STRUCTURE:
- Tensor Module: Unit Test: Creation → Properties → Arithmetic → Comprehensive
- Activations Module: Unit Test: ReLU → Sigmoid → Tanh → Softmax → Comprehensive
- Layers Module: Unit Test: Matrix Multiplication → Dense Layer → Comprehensive
- Networks Module: Unit Test: Sequential → MLP Creation → Comprehensive
- CNN Module: Unit Test: Convolution → Conv2D → Flatten → Comprehensive
- DataLoader Module: Unit Test: Dataset → DataLoader → Pipeline → Comprehensive
- Autograd Module: Unit Test: Variables → Operations → Chain Rule → Comprehensive

 EDUCATIONAL CONSISTENCY:
- Each unit test focuses on one specific component in isolation
- Immediate feedback after each implementation step
- Clear explanations of what each test validates
- Consistent error messages and success indicators

 TESTING GRANULARITY VERIFIED:
- Unit tests test small, specific functionality
- Comprehensive tests cover edge cases and integration
- All tests follow NBGrader-compliant cell structure
- Proper separation between educational and assessment testing

Total: 25+ individual unit tests across 7 modules with consistent naming and structure
2025-07-12 20:38:26 -04:00
Vijay Janapa Reddi
00169e266b Implement comprehensive inline testing for Tensor module
- Replace basic inline tests with comprehensive educational tests
- Add thorough tensor creation testing (8 test cases)
- Add comprehensive property testing (6 test cases)
- Add complete arithmetic testing (8 test cases)
- Add ML integration test with realistic scenarios
- Provide detailed feedback, hints, and progress tracking
- Follow inline-first testing approach for immediate feedback
2025-07-12 19:39:07 -04:00
Vijay Janapa Reddi
9199199845 feat: Add comprehensive intermediate testing across all TinyTorch modules
- Add 17 intermediate test points across 6 modules for immediate student feedback
- Tensor module: Tests after creation, properties, arithmetic, and operators
- Activations module: Tests after each activation function (ReLU, Sigmoid, Tanh, Softmax)
- Layers module: Tests after matrix multiplication and Dense layer implementation
- Networks module: Tests after Sequential class and MLP creation
- CNN module: Tests after convolution, Conv2D layer, and flatten operations
- DataLoader module: Tests after Dataset interface and DataLoader class
- All tests include visual progress indicators and behavioral explanations
- Maintains NBGrader compliance with proper metadata and point allocation
- Enables steady forward progress and better debugging for students
- 100% test success rate across all modules and integration testing
2025-07-12 18:28:35 -04:00
Vijay Janapa Reddi
9247784cb7 feat: Enhanced tensor and activations modules with comprehensive educational content
- Added package structure documentation explaining modules/source/ vs tinytorch.core.
- Enhanced mathematical foundations with linear algebra refresher and Universal Approximation Theorem
- Added real-world applications for each activation function (ReLU, Sigmoid, Tanh, Softmax)
- Included mathematical properties, derivatives, ranges, and computational costs
- Added performance considerations and numerical stability explanations
- Connected to production ML systems (PyTorch, TensorFlow, JAX equivalents)
- Implemented streamlined 'tito export' command with automatic .py → .ipynb conversion
- All functionality preserved: scripts run correctly, tests pass, package integration works
- Ready to continue with remaining modules (layers, networks, cnn, dataloader)
2025-07-12 17:51:00 -04:00
Vijay Janapa Reddi
f1d47330b3 Simplify export workflow: remove module_paths.txt, use dynamic discovery
- Remove unnecessary module_paths.txt file for cleaner architecture
- Update export command to discover modules dynamically from modules/source/
- Simplify nbdev command to support --all and module-specific exports
- Use single source of truth: nbdev settings.ini for module paths
- Clean up import structure in setup module for proper nbdev export
- Maintain clean separation between module discovery and export logic

This implements a proper software engineering approach with:
- Single source of truth (settings.ini)
- Dynamic discovery (no hardcoded paths)
- Clean CLI interface (tito package nbdev --export [--all|module])
- Robust error handling with helpful feedback
2025-07-12 17:19:22 -04:00