- 00_setup: Fix naming inconsistency (setup_health → setup_score)
- Tests expected 'setup_score' key but implementation returned 'setup_health'
- Updated all references to use consistent 'setup_score' naming
- Result: 37/37 tests now passing
- 05_cnn: Fix flatten function shape expectations
- Comprehensive tests expected (4,) shape but integration tests expected (1,4) shape
- Made comprehensive tests consistent with integration test expectations
- Flatten function now correctly preserves batch dimension for realistic usage
- Result: 39/39 tests now passing
- 08_optimizers: Fix recursion error in test execution
- Direct test call was causing infinite recursion loop
- Removed problematic direct test call, rely on auto-discovery system
- Result: 5/5 tests now passing
All inline tests now pass: 214/214 tests (100% success rate)
- Move testing utilities from tinytorch/utils/testing.py to tito/tools/testing.py
- Update all module imports to use tito.tools.testing
- Remove testing utilities from core TinyTorch package
- Testing utilities are development tools, not part of the ML library
- Maintains clean separation between library code and development toolchain
- All tests continue to work correctly with improved architecture
- Added environment validation with dependency checking
- Implemented performance benchmarking for CPU and memory
- Created development environment setup with Git/Jupyter checks
- Built comprehensive system reporting with health scoring
- Maintained educational patterns and inline testing
- Added professional ML systems configuration practices
All functions work correctly with proper error handling and testing.
- Added detailed ML systems context and architecture overview
- Enhanced conceptual foundations for system configuration
- Improved personal info section with professional development context
- Expanded system info section with hardware-aware ML concepts
- Added comprehensive testing explanations
- Connected to real-world ML frameworks and practices
- Improved learning scaffolding and step-by-step guidance
- 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