Commit Graph

12 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
64fb1ae730 Fix module dependency chain - clean imports now work
Critical fixes to resolve module import issues:

1. Module 01 (tensor_dev.py):
   - Wrapped all test calls in if __name__ == '__main__': guards
   - Tests no longer execute during import
   - Clean imports now work: from tensor_dev import Tensor

2. Module 08 (dataloader_dev.py):
   - REMOVED redefined Tensor class (was breaking dependency chain)
   - Now imports real Tensor from Module 01
   - DataLoader uses actual Tensor with full gradient support

Impact:
- Modules properly build on previous work (no isolated implementations)
- Clean dependency chain: each module imports from previous modules
- No test execution during imports = fast, clean module loading

This resolves the root cause where DataLoader had to redefine Tensor
because importing tensor_dev.py would execute all test code.
2025-09-30 06:37:52 -04:00
Vijay Janapa Reddi
5a08d9cfd3 Complete TinyTorch module rebuild with explanations and milestone testing
Major Accomplishments:
• Rebuilt all 20 modules with comprehensive explanations before each function
• Fixed explanatory placement: detailed explanations before implementations, brief descriptions before tests
• Enhanced all modules with ASCII diagrams for visual learning
• Comprehensive individual module testing and validation
• Created milestone directory structure with working examples
• Fixed critical Module 01 indentation error (methods were outside Tensor class)

Module Status:
 Modules 01-07: Fully working (Tensor → Training pipeline)
 Milestone 1: Perceptron - ACHIEVED (95% accuracy on 2D data)
 Milestone 2: MLP - ACHIEVED (complete training with autograd)
⚠️ Modules 08-20: Mixed results (import dependencies need fixes)

Educational Impact:
• Students can now learn complete ML pipeline from tensors to training
• Clear progression: basic operations → neural networks → optimization
• Explanatory sections provide proper context before implementation
• Working milestones demonstrate practical ML capabilities

Next Steps:
• Fix import dependencies in advanced modules (9, 11, 12, 17-20)
• Debug timeout issues in modules 14, 15
• First 7 modules provide solid foundation for immediate educational use(https://claude.ai/code)
2025-09-29 20:55:55 -04:00
Vijay Janapa Reddi
0ca2ab1efe Enhance modules 01-04 with ASCII diagrams and improved flow
Following Module 05's successful visual learning patterns:
- Add ASCII diagrams for complex concepts
- Natural markdown flow explaining what's about to happen
- Visual memory layouts, data flows, and computation graphs
- Enhanced test sections with clear explanations
- Consistent with new MODULE_DEVELOPMENT guidelines

Module 01 (Tensor):
- Tensor dimension hierarchy visualization
- Memory layout and broadcasting diagrams
- Matrix multiplication step-by-step

Module 02 (Activations):
- Linearity problem and activation curves
- Dead neuron visualization for ReLU
- Softmax probability transformation

Module 03 (Layers):
- Linear layer computation visualization
- Parameter management hierarchy
- Batch processing shape transformations

Module 04 (Losses):
- Loss landscape visualizations
- MSE quadratic penalty diagrams
- CrossEntropy confidence patterns

All modules tested and working correctly
2025-09-29 13:49:08 -04:00
Vijay Janapa Reddi
4c50ac35fd Implement pure Tensor with decorator extension pattern
- Module 01: Pure Tensor class - ZERO gradient code, perfect data structure focus
- Modules 02-04: Clean usage of basic Tensor, no hasattr() hacks anywhere
- Removed Parameter wrapper complexity, use direct Tensor operations
- Each module now focuses ONLY on its core teaching concept
- Prepared elegant decorator pattern for Module 05 autograd extension
- Perfect separation of concerns: data structure → operations → enhancement
2025-09-29 12:15:12 -04:00
Vijay Janapa Reddi
06b35c34bd Fix training pipeline: Parameter class, Variable.sum(), gradient handling
Major fixes for complete training pipeline functionality:

Core Components Fixed:
- Parameter class: Now wraps Variables with requires_grad=True for proper gradient tracking
- Variable.sum(): Essential for scalar loss computation from multi-element tensors
- Gradient handling: Fixed memoryview issues in autograd and activations
- Tensor indexing: Added __getitem__ support for weight inspection

Training Results:
- XOR learning: 100% accuracy (4/4) - network successfully learns XOR function
- Linear regression: Weight=1.991 (target=2.0), Bias=0.980 (target=1.0)
- Integration tests: 21/22 passing (95.5% success rate)
- Module tests: All individual modules passing
- General functionality: 4/5 tests passing with core training working

Technical Details:
- Fixed gradient data access patterns throughout activations.py
- Added safe memoryview handling in Variable.backward()
- Implemented proper Parameter-Variable delegation
- Added Tensor subscripting for debugging access(https://claude.ai/code)
2025-09-28 19:14:11 -04:00
Vijay Janapa Reddi
415d8bc3b8 Clean up tensor module: Essential operations only, improved testing pattern 2025-09-28 14:53:37 -04:00
Vijay Janapa Reddi
c52a5dc789 Improve module-developer guidelines and fix all module issues
- Added progressive complexity guidelines (Foundation/Intermediate/Advanced)
- Added measurement function consolidation to prevent information overload
- Fixed all diagnostic issues in losses_dev.py
- Fixed markdown formatting across all modules
- Consolidated redundant analysis functions in foundation modules
- Fixed syntax errors and unused variables
- Ensured all educational content is in proper markdown cells for Jupyter
2025-09-28 09:42:25 -04:00
Vijay Janapa Reddi
55f4f780f1 Enhance tensor module: Add deep systems analysis and production insights
TENSOR MODULE IMPROVEMENTS: Enhanced pedagogical quality and systems thinking

Key Enhancements:
 Fixed module reference numbers (Module 05 Autograd, Module 02 Activations)
 Updated export instructions (tito module complete 01)
 Added comprehensive systems analysis sections:
   - Memory efficiency at production scale (7B parameter models)
   - Broadcasting in transformer architectures
   - Gradient compatibility and computational graphs

Deep Systems Insights Added:
🧠 Memory optimization strategies for large language models
🧠 Transformer broadcasting patterns and attention mechanisms
🧠 Gradient flow architecture and autograd preparation
🧠 Production connections to PyTorch/TensorFlow patterns

Educational Improvements:
📚 Enhanced Build → Use → Reflect pedagogical framework
📚 Concrete production examples (GPT-3 memory requirements)
📚 Clear connections between tensor design and ML system constraints
📚 Actionable analysis replacing generic placeholder questions

Result: Tensor module now provides deep systems understanding while maintaining
strong implementation foundation. All tests pass, ready for student use.
2025-09-28 08:14:46 -04:00
Vijay Janapa Reddi
6ef7f12f5a Fix import paths: Update all modules to use new numbering
IMPORT PATH FIXES: All modules now reference correct directories

Fixed Paths:
 02_tensor → 01_tensor (in all modules)
 03_activations → 02_activations (in all modules)
 04_layers → 03_layers (in all modules)
 05_losses → 04_losses (in all modules)
 Added comprehensive fallback imports for 07_training

Module Test Status:
 01_tensor, 02_activations, 03_layers: All tests pass
 06_optimizers, 08_spatial: All tests pass
🔧 04_losses: Syntax error (markdown in Python)
🔧 05_autograd: Test assertion failure
🔧 07_training: Import paths fixed, ready for retest

All import dependencies now correctly reference reorganized module structure.
2025-09-28 08:07:44 -04:00
Vijay Janapa Reddi
45a9cef548 Major reorganization: Remove setup module, renumber all modules, add tito setup command and numeric shortcuts
- 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
2025-09-28 07:02:08 -04:00
Vijay Janapa Reddi
83fb269d9f Complete migration from modules/ to assignments/source/ structure
- Migrated all Python source files to assignments/source/ structure
- Updated nbdev configuration to use assignments/source as nbs_path
- Updated all tito commands (nbgrader, export, test) to use new structure
- Fixed hardcoded paths in Python files and documentation
- Updated config.py to use assignments/source instead of modules
- Fixed test command to use correct file naming (short names vs full module names)
- Regenerated all notebook files with clean metadata
- Verified complete workflow: Python source → NBGrader → nbdev export → testing

All systems now working: NBGrader (14 source assignments, 1 released), nbdev export (7 generated files), and pytest integration.

The modules/ directory has been retired and replaced with standard NBGrader structure.
2025-07-12 12:06:56 -04:00
Vijay Janapa Reddi
23c2f53c2b Add numbered prefixes to complete modules
- Rename complete modules to numbered progression:
  - setup → 00_setup
  - tensor → 01_tensor
  - activations → 02_activations
  - layers → 03_layers
  - networks → 04_networks
  - dataloader → 05_dataloader

- Update test imports to use new numbered module names
- Keep incomplete modules (autograd, training, etc.) unnumbered
- Clear progression: 6 complete modules ready for students
- Maintains rock solid foundation approach with proper imports
2025-07-12 02:12:12 -04:00