Commit Graph

265 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
8afe207ce5 Renumber modules from 00-13 to 01-14 for natural numbering
 Rename all module directories: 00_setup → 01_setup, etc.
 Update convert_modules.py mappings for new directory names
 Update _toc.yml file paths and titles (1-14 instead of 0-13)
 Regenerate all overview pages with new numbering
 Fix all broken references in usage-paths and intro
 Update chapter references to use natural numbering

Benefits:
- More intuitive course progression starting from 1
- Matches academic course numbering conventions
- Eliminates confusion about 'Module 0' concept
- Cleaner mental model for students and instructors
- All references and links properly updated

Complete transformation: 14 modules now numbered 01-14
2025-07-15 18:51:36 -04:00
Vijay Janapa Reddi
db49b26b0c Add consistent short title for Setup module
 Complete dual-title system: short TOC titles + full page headers
 All 14 modules now have consistent numbered menu titles
 Clean sidebar navigation with descriptive page content

Pattern:
- TOC: '0. Setup' → Page: 'Setup - TinyTorch System Configuration'
- TOC: '2. Activations' → Page: 'Activations - Nonlinearity in Neural Networks'
- Provides scannable menu + descriptive content headers
2025-07-15 18:48:17 -04:00
Vijay Janapa Reddi
19a2dbf408 Improve traditional vs TinyTorch comparison with concrete code examples
 Show actual implementation code instead of vague descriptions
 Contrast 'import torch' with 'class Tensor:' implementations
 Display real function definitions students will write
 Make clear students build every component from scratch

Changes:
- Replace vague 'Build your own tensors' with 'class Tensor:'
- Show actual method signatures: __add__, backward, forward
- Include concrete loss function: mse_loss implementation
- Display real optimizer logic: param.data -= lr * param.grad
- Change ending: 'I built this!' → 'I implemented every line!'
2025-07-15 18:24:28 -04:00
Vijay Janapa Reddi
0d9e56d13a Remove module numbers from headers for cleaner presentation
 Clean source file headers: 'Module X:' → clean descriptive titles
 Regenerate overview pages with clean headers
 More flexible content that works in any context
 Numbers still provided by book TOC structure

Changes:
- Remove 'Module X: ' prefix from all source file headers
- Headers now focus on descriptive content titles
- Book maintains proper chapter ordering via _toc.yml
- Content is more reusable across different presentations
2025-07-15 18:23:18 -04:00
Vijay Janapa Reddi
cbeffd787c Simplify book directory structure
 Remove unnecessary nesting: book/tinytorch-course/ → book/
 Update all path references in scripts and workflows
 Cleaner development experience with shorter paths
 Book builds successfully with simplified structure

Changes:
- Move all book files up one directory level
- Update convert_modules.py paths
- Update GitHub Actions workflow paths
- Update book configuration paths
- Test confirms everything works correctly
2025-07-15 18:21:59 -04:00
Vijay Janapa Reddi
9b90f52a1c Implement interactive access with learning goals admonitions
 Add learning goals extraction with beautiful admonition blocks
 Create hybrid book approach (overview pages + interactive buttons)
 Generate both notebooks (Binder/Colab) and book pages
 Update GitHub Actions for main branch deployment
 All 14 modules now have consistent formatting

Features:
- Extract content from source files (no duplication)
- Interactive launch buttons (GitHub/Binder/Colab)
- Learning objectives as 🎯 tip admonitions
- Notebooks generated in-place for direct access
- Clean separation: dev → main → website deployment
2025-07-15 18:19:29 -04:00
Vijay Janapa Reddi
5344bc0aa1 Update README.md 2025-07-15 15:23:02 -04:00
Vijay Janapa Reddi
24d7b1f69c Update README.md 2025-07-15 15:20:35 -04:00
Vijay Janapa Reddi
900f0d3cef Update README to reflect current TinyTorch state
- Fix repository URL and directory structure
- Add prominent Jupyter Book documentation link
- List all 14 complete modules with proper organization
- Update installation and workflow instructions
- Add dev/main branch git workflow documentation
- Include modern badges and three user onboarding paths
- Emphasize production ML and inline testing approach
- Reflect current tech stack and learning outcomes
2025-07-15 14:40:36 -04:00
Vijay Janapa Reddi
9b1ba2532c Update README.md 2025-07-15 14:37:46 -04:00
Vijay Janapa Reddi
c13952ca73 fix: Update GitHub Actions workflow to trigger on dev branch
- Changed trigger from main to dev branch (repository default)
- Updated deploy condition to check for dev branch
- Ensures workflow runs on correct branch for this repository
2025-07-15 13:09:53 -04:00
Vijay Janapa Reddi
a0b8c6cfc1 feat: Add .nojekyll for GitHub Pages compatibility 2025-07-15 12:51:48 -04:00
Vijay Janapa Reddi
0846352fe7 feat: Update GitHub Actions workflow for raw export builds
- Add module conversion step before book building
- Install jupytext dependency for conversion script
- Maintains existing GitHub Pages deployment pipeline
- Automatically converts modules/source/ to notebooks on deploy
2025-07-15 12:51:32 -04:00
Vijay Janapa Reddi
24bf9d2880 feat: Add raw export Jupyter Book conversion system
- Created convert_modules.py for raw source-to-notebook conversion
- Configured Jupyter Book with execution disabled for performance
- Removed NBGrader solution stripping to preserve complete source code
- Cleaned up all built artifacts (_build/, chapters/*.ipynb) from version control
- Updated book configuration for pure source-based builds
- Single source of truth: all content generated from modules/source/ only
2025-07-15 12:50:17 -04:00
Vijay Janapa Reddi
11864d147f Complete interactive Tiny🔥Torch course with all 14 modules
 Converted all TinyTorch modules to interactive student notebooks:
- Foundation: Setup, Tensors, Activations (3 modules)
- Building Blocks: Layers, Networks, CNNs (3 modules)
- Training Systems: DataLoader, Autograd, Optimizers, Training (4 modules)
- Production: Compression, Kernels, Benchmarking, MLOps (4 modules)

🚀 Complete student learning experience:
- Big picture landing page with clear usage paths
- 3 dedicated path guides (exploration, development, classroom)
- Tiny🔥Torch branding with logo integration
- Student notebooks with solutions stripped but educational content preserved
- Interactive Binder integration ready for deployment

📊 Course statistics:
- 14 progressive modules building from CLI to production MLOps
- ~800KB total content across all interactive notebooks
- Professional development workflow with automated testing
- Proven pedagogical outcomes with Build → Use → Understand pattern

Ready for GitHub Pages deployment and student use
2025-07-15 11:36:57 -04:00
Vijay Janapa Reddi
98e9ed5a8d Complete Jupyter Book automation pipeline
 Implemented automatic module-to-notebook conversion
- Created convert_modules.py script for NBGrader-style student assignments
- Strips solutions automatically using BEGIN/END SOLUTION markers
- Converts 4 core modules: setup, tensor, activations, layers
- Adds Binder integration and interactive learning frontmatter
- Updates table of contents to use .ipynb files
- Complete landing page with clear usage instructions

🚀 Result: Full interactive educational platform
- Students can explore via Binder immediately (no setup)
- Clear path from exploration → serious local development
- Automated content pipeline from dev files → student book
- Ready for GitHub Pages deployment
2025-07-15 10:35:13 -04:00
Vijay Janapa Reddi
043d6f50ce 🚀 Set up Jupyter Book infrastructure for TinyTorch course
- Created interactive Jupyter Book structure in book/tinytorch-course/
- Configured for GitHub Pages, Binder, and Colab integration
- Set up automated deployment with GitHub Actions
- Designed comprehensive course structure with 4 main parts:
  * Foundation (Setup, Tensors, Activations)
  * Building Blocks (Layers, Networks, CNNs)
  * Training Systems (DataLoader, Autograd, Optimizers, Training)
  * Production & Performance (Compression, Kernels, Benchmarking, MLOps)
- Added engaging introduction with interactive features
- Ready for module conversion from *_dev.py to executable notebooks

Next: Convert modules/source/*_dev.py files to interactive chapters
2025-07-15 10:14:40 -04:00
Vijay Janapa Reddi
635a98f1c7 🛡️ 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
a335ba7635 🧹 Clean up repository: remove generated reports, backup files, and outdated documentation
- Remove generated report files (*.html, *.json) that should be recreated
- Remove temporary Quarto cache files (.quarto/cites/)
- Remove backup files (settings.ini.backup) when originals exist
- Remove legacy configuration (.cursorrules moved to .cursor/rules/)
- Remove outdated documentation and status reports
- Remove unused Makefile (project uses pyproject.toml + nbdev)

All core project files preserved. This cleanup improves maintainability
by removing files that should be generated, not stored in version control.
2025-07-15 10:01:50 -04:00
Vijay Janapa Reddi
b5e3b12639 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
bfb14ce61b 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
c176349b93 Fix MLOps module summary to match concise TinyTorch style
- Shortened verbose 119-line summary to focused 32-line format
- Removed redundant sections and excessive congratulatory language
- Added standard Next Steps with actionable tito commands
- Now consistent with other module endings (tensor, layers, optimizers, etc.)
- Maintains essential accomplishments and real-world connections
2025-07-14 21:11:08 -04:00
Vijay Janapa Reddi
99d1182d4b Verify tito CLI functionality - all commands working correctly
-  tito system info/doctor: Full system health check working
-  tito module status: Shows all 14 modules with proper status
-  tito export --all: Successfully exports all modules to tinytorch package
-  tito test --all: Runs all inline tests (65/66 tests passing)
-  tito nbgrader: All assignment management commands available
-  tito package nbdev: NBDev integration working
-  Global PATH: Added bin/ to PATH for global tito access

Only minor issue: 1 MLOps test failing due to script execution
All core functionality working perfectly for educational use
2025-07-14 19:45:36 -04:00
Vijay Janapa Reddi
60a5ed9b2e 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
f3d493b837 Fix pytest configuration timeout issue 2025-07-14 19:35:11 -04:00
Vijay Janapa Reddi
edbfd2bd7f Add benchmarking test report generated by integration tests 2025-07-14 19:26:19 -04:00
Vijay Janapa Reddi
a0b212dafd Update test report with latest benchmarking results 2025-07-14 19:25:57 -04:00
Vijay Janapa Reddi
0ccef78721 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
8549d82aeb 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
c0f4122885 Fix MLOps module ending to match consistent TinyTorch style
- Replace overly celebratory ending with standard progress indicator
- Use same format as other modules: 'Final Progress: [module] ready for [next step]!'
- Maintain professional, educational tone consistent with project
2025-07-14 19:14:09 -04:00
Vijay Janapa Reddi
257fbe4f4a 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
273c10576a Implement complete MLOps module (13_mlops) with production ML system lifecycle
- Complete MLOps pipeline with 4 core components:
  1. ModelMonitor: Tracks performance over time, detects degradation
  2. DriftDetector: Statistical tests for data distribution changes
  3. RetrainingTrigger: Automated retraining based on thresholds
  4. MLOpsPipeline: Orchestrates complete workflow integration

- Follows TinyTorch educational pattern exactly:
  - Concept explanations before implementation
  - Guided TODOs with step-by-step instructions
  - Immediate testing after each component
  - Progressive complexity building on previous modules
  - Comprehensive summary with career applications

- Integrates all previous TinyTorch components:
  - Uses training pipeline from Module 09
  - Uses benchmarking from Module 12
  - Uses compression from Module 10
  - Demonstrates complete ecosystem integration

- Production-ready MLOps concepts:
  - Performance monitoring and alerting
  - Drift detection with statistical validation
  - Automated retraining triggers
  - Model lifecycle management
  - Complete deployment workflows

- Educational value:
  - Real-world MLOps applications (Netflix, Uber, Google)
  - Industry connections (MLflow, Kubeflow, SageMaker)
  - Career preparation for ML Engineer roles
  - Complete capstone bringing together all 13 modules

- Technical implementation:
  - 1700+ lines of educational content and code
  - NBGrader integration for assessment
  - Comprehensive test suite with 100+ points
  - Auto-discovery testing framework
  - Professional documentation and examples

This completes the TinyTorch ecosystem with production-ready MLOps
2025-07-14 18:05:31 -04:00
Vijay Janapa Reddi
53c449adb1 Add pending changes from module testing
- Update kernels_dev.py with any modifications made during testing
- Add test_report.md generated by benchmarking module
- Ensure all changes from comprehensive testing are committed
2025-07-14 17:23:16 -04:00
Vijay Janapa Reddi
990ee22a10 Add comprehensive module test status report
- All 13 implemented modules (00-12) passing 100% of tests
- Total 63 tests passed across all modules
- Only 13_mlops module not implemented (empty directory)
- Comprehensive testing infrastructure working perfectly
- Educational inline tests providing excellent feedback
2025-07-14 17:08:39 -04:00
Vijay Janapa Reddi
ca152ee88f Fix Module 12 benchmarking to follow standardized patterns
- Simplify testing section to match kernels module convention
- Replace verbose summary with concise pattern matching other modules
- Fix type annotation for BenchmarkResult.metadata field
- Remove excessive detail from module summary (200+ lines → 30 lines)
- Maintain clean, professional educational structure
2025-07-14 16:45:03 -04:00
Vijay Janapa Reddi
728fb2930d 🔄 Remove Capstone-Specific Language from Benchmarking Module
 **Generalized Language:**
- Changed 'capstone project' → 'ML project' throughout
- Renamed generate_capstone_report() → generate_project_report()
- Updated README.md to remove capstone assumptions
- Made module universally applicable

 **Maintained Functionality:**
- All 5 test functions still passing (100% success rate)
- Complete benchmarking workflow unchanged
- Professional reporting still generates high-quality outputs
- Statistical validation working correctly

 **Improved Focus:**
- Module now teaches systematic ML evaluation skills
- Applicable to research projects, industry work, personal projects
- Removed assumption of specific capstone context
- Enhanced universal applicability

 **Test Results:**
- All benchmarking tests passing
- Performance reporter generating professional reports
- Statistical validation working with confidence intervals
- Framework ready for any ML project evaluation
2025-07-14 16:03:35 -04:00
Vijay Janapa Reddi
66a17a8a40 🎯 Complete Module 12: Benchmarking - MLPerf-Inspired Performance Evaluation
 **Full Module Implementation:**
- module.yaml: Proper metadata and dependencies
- README.md: Comprehensive documentation with learning objectives
- benchmarking_dev.py: Complete implementation with educational pattern

 **MLPerf-Inspired Architecture:**
- BenchmarkScenarios: Single-stream, server, and offline scenarios
- StatisticalValidator: Proper statistical validation and significance testing
- TinyTorchPerf: Complete framework integrating all components
- PerformanceReporter: Professional report generation for capstone projects

 **Educational Excellence:**
- Same structure as layers_dev.py with Build → Use → Analyze framework
- Comprehensive TODO guidance with step-by-step implementation
- Unit tests for each component with immediate feedback
- Integration testing with realistic TinyTorch models
- Professional module summary with career connections

 **Test Results:**
- All 5 test functions passing (100% success rate)
- Complete benchmarking workflow validated
- Statistical validation working correctly
- Professional reporting generating capstone-ready outputs
- Framework ready for student use

 **Capstone Preparation:**
- Students can now systematically evaluate their final projects
- Professional reporting suitable for academic presentations
- Statistical validation ensures meaningful results
- Industry-standard methodology following MLPerf patterns

🎓 **Perfect Bridge to Module 13 (MLOps):**
- Benchmarking establishes performance baselines
- MLOps will monitor production systems against these baselines
- Statistical validation transfers to production monitoring
- Professional reporting becomes production dashboards
2025-07-14 16:00:18 -04:00
Vijay Janapa Reddi
48727cdcab 🔥 Simplify Kernels Module: Replace Complex Profiler with Simple Timing
 **Pedagogical Improvements:**
- Removed complex SimpleProfiler dependency
- Added simple time_kernel() function using time.perf_counter()
- Displays timing in microseconds (realistic for kernel operations)
- Focused learning on kernel optimization vs profiling complexity

 **Clean Learning Progression:**
- Module 11 (Kernels): Simple timing - 'Can I make this faster?'
- Module 12 (Benchmarking): Professional profiling - 'How do I measure systematically?'
- Module 13 (MLOps): Production monitoring - 'How do I track in production?'

 **Implementation Details:**
- Fixed imports to use matmul_naive from TinyTorch layers
- Simplified baseline implementation using NumPy dot product
- Reduced cognitive load by removing measurement complexity
- Maintained all kernel optimization concepts

⚠️ **Note:** Cache-friendly implementation needs debugging but core timing functionality works

🎯 **Impact:** Students can now focus on building optimized kernels with immediate microsecond-level performance feedback, setting up perfect progression to comprehensive benchmarking in Module 12.
2025-07-14 14:51:28 -04:00
Vijay Janapa Reddi
485a358b37 feat: Complete standardized testing implementation and VS Code improvements
- Added locked standardized testing sections to autograd and optimizers modules
- Fixed kernels module structure to match optimizers/training pattern
- Added comprehensive VS Code setup guide for Jupytext editing
- All 12 TinyTorch modules now have consistent testing framework
- Cleaned up temporary development files
2025-07-14 14:16:06 -04:00
Vijay Janapa Reddi
17439fdc5c feat: Complete standardized testing implementation across all modules
- Added standardized testing sections to modules 07_autograd and 08_optimizers
- Updated module.yaml files to reference inline testing approach
- Reorganized kernels module structure with proper testing placement
- All 12 TinyTorch modules now have consistent testing framework
- Fixed kernels module structure to match optimizers/training pattern
2025-07-14 14:15:23 -04:00
Vijay Janapa Reddi
b57f485369 Add TinyTorch Profiler Utility
- Add tinytorch.utils.profiler following PyTorch's utils pattern
- Includes SimpleProfiler class for educational performance measurement
- Provides timing, memory usage, and system metrics
- Follows PyTorch's torch.utils.* organizational pattern
- Module 11: Kernels uses profiler for performance demonstrations

Features:
- Wall time and CPU time measurement
- Memory usage tracking (peak, delta, percentages)
- Array information (shape, size, dtype)
- CPU and system metrics
- Clean educational interface for ML performance learning

Import pattern:
  from tinytorch.utils.profiler import SimpleProfiler
2025-07-14 13:04:44 -04:00
Vijay Janapa Reddi
43f891668d Remove testing.py backup file - cleanup complete 2025-07-14 10:24:30 -04:00
Vijay Janapa Reddi
5af4130ad4 Simplify test discovery and clean up test function names across all modules
MAJOR IMPROVEMENT: Simplified test discovery logic
- Removed restrictive valid_patterns requirement from testing framework
- Any function starting with 'test_' is now automatically discovered
- Follows standard pytest conventions - no maintenance overhead
- Eliminates need to manually add patterns for new test functions

CLEANED UP: Test function names across all 10 modules
- Removed redundant '_comprehensive' suffix from all test functions
- Updated 40+ test function names to be more concise and readable:
  * 00_setup: 6 functions (test_personal_info, test_system_info, etc.)
  * 01_tensor: 4 functions (test_tensor_creation, test_tensor_properties, etc.)
  * 02_activations: 1 function (test_activations)
  * 03_layers: 3 functions (test_matrix_multiplication, test_dense_layer, etc.)
  * 04_networks: 4 functions (test_sequential_networks, test_mlp_creation, etc.)
  * 05_cnn: 3 functions (test_convolution_operation, test_conv2d_layer, etc.)
  * 06_dataloader: 4 functions (test_dataset_interface, test_dataloader, etc.)
  * 07_autograd: 6 functions (test_variable_class, test_add_operation, etc.)
  * 08_optimizers: 5 functions (test_gradient_descent_step, test_sgd_optimizer, etc.)
  * 09_training: 6 functions (test_mse_loss, test_crossentropy_loss, etc.)
  * 10_compression: 6 functions (already cleaned up)

VERIFICATION: All tests still pass
- All 10 modules tested successfully with new discovery logic
- Total test count maintained: 47 inline tests across all modules
- No functionality lost, only improved maintainability

RESULT: Much cleaner, more maintainable testing framework following standard conventions
2025-07-14 10:24:04 -04:00
Vijay Janapa Reddi
8c7aefed82 Clean up compression test function names
- Removed redundant '_comprehensive' suffix from test function names:
  * test_compression_metrics_comprehensive → test_compression_metrics
  * test_magnitude_pruning_comprehensive → test_magnitude_pruning
  * test_quantization_comprehensive → test_quantization
  * test_distillation_comprehensive → test_distillation
  * test_structured_pruning_comprehensive → test_structured_pruning
- Updated testing framework to recognize new compression test patterns
- All tests still pass (6/6 inline + 8/8 integration = 14/14 total)
- Other modules unaffected (tensor 4/4, activations 5/5 still pass)
- Cleaner, more concise test function names
2025-07-14 09:53:37 -04:00
Vijay Janapa Reddi
5f63d31e78 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
a516c3d0a1 Complete compression module with 6 compression techniques
- Added CompressionMetrics for parameter counting and model size analysis
- Implemented magnitude-based pruning with sparsity calculation
- Added quantization for FP32→INT8 conversion with error tracking
- Implemented knowledge distillation with temperature scaling
- Added structured pruning with neuron removal
- Created comprehensive comparison framework
- All 6 tests passing (100% success rate)
- Module follows TinyTorch educational patterns
- Uses standard tito testing framework
- Ready for integration testing
2025-07-14 09:44:04 -04:00
Vijay Janapa Reddi
ffa797c483 Design: Module 10 Compression comprehensive analysis
- Analyzed current TinyTorch foundation (modules 00-09)
- Identified compression opportunities in Dense/CNN parameters
- Ranked 4 compression techniques by educational value:
  1. Magnitude-based pruning (★★★★★) - builds on weight matrices
  2. Quantization FP32→INT8 (★★★★) - builds on tensor operations
  3. Knowledge distillation (★★★★) - builds on training pipeline
  4. Structured pruning (★★★) - builds on architecture design

Educational progression:
- Step 1: Parameter analysis and model size understanding
- Step 2: Weight pruning with sparsity visualization
- Step 3: Quantization experiments with bit-width trade-offs
- Step 4: Teacher-student training with distillation loss
- Step 5: Neuron removal and architecture modification
- Step 6: Comprehensive technique comparison

Real-world connections:
- Mobile AI deployment constraints
- Production ML system optimization
- Research frontiers in model compression

Perfect foundation for modules 11-13 (kernels, benchmarking, MLOps)
2025-07-14 08:35:39 -04:00
Vijay Janapa Reddi
87716025d3 Proper: Use tito export for module control and consistency
- Switched from direct nbdev_export to tito export for proper control
- tito export 09_training: Managed conversion and export workflow
- tito export 08_optimizers: Ensured proper dependency resolution
- All modules automatically re-exported through tito system
- Updated _modidx.py with proper module index

Benefits of tito export:
- Consistent with TinyTorch CLI workflow
- Proper control over export process
- Professional export summary and feedback
- Handles conversion from .py to .ipynb automatically
- Maintains proper module dependencies and order
- Integrates with tito test system seamlessly

Test results:
- 09_training: 6/6 inline tests passed
- 08_optimizers: 5/5 inline tests passed
- 17/17 integration tests passed
- All tito-exported components working correctly
- Complete training pipeline functional via tito system
2025-07-14 01:03:39 -04:00
Vijay Janapa Reddi
34bb6cecaa Export: Training and Optimizers modules to TinyTorch package
- Exported 09_training module using nbdev directly from Python file
- Exported 08_optimizers module to resolve import dependencies
- All training components now available in tinytorch.core.training:
  * MeanSquaredError, CrossEntropyLoss, BinaryCrossEntropyLoss
  * Accuracy metric
  * Trainer class with complete training orchestration
- All optimizers now available in tinytorch.core.optimizers:
  * SGD, Adam optimizers
  * StepLR learning rate scheduler
- All components properly exported and functional
- Integration tests passing (17/17)
- Inline tests passing (6/6)
- tito CLI integration working correctly

Package exports:
- tinytorch.core.training: 688 lines, 5 main classes
- tinytorch.core.optimizers: 17,396 bytes, complete optimizer suite
- Clean separation of development vs package code
- Ready for production use and further development
2025-07-14 01:01:59 -04:00
Vijay Janapa Reddi
44560465b6 Improve: Training module summary structure and next steps
- Added proper 'Next Steps' section matching 00_setup pattern
- Improved module summary with clear action items
- Added tito export/test commands for user guidance
- Maintains proper structure: Testing → Auto-discovery → Summary
- All tests still passing (6/6 inline, 17/17 integration)
- tito CLI integration working correctly

Structure improvements:
- Clear progression from testing to summary
- Actionable next steps for users
- Consistent formatting with other modules
- Professional module completion guidance
2025-07-14 00:59:31 -04:00