Commit Graph

20 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
fb01c7ab51 Add minimal enhancements for CIFAR-10 north star goal
Enhancements for achieving 75% accuracy on CIFAR-10:

Module 08 (DataLoader):
- Add download_cifar10() function for real dataset downloading
- Implement CIFAR10Dataset class for loading real CV data
- Simple implementation focused on educational value

Module 11 (Training):
- Add model checkpointing (save_checkpoint/load_checkpoint)
- Enhanced fit() with save_best parameter
- Add evaluation tools: compute_confusion_matrix, evaluate_model
- Add plot_training_history for tracking progress

These minimal changes enable students to:
1. Download and load real CIFAR-10 data
2. Train CNNs with checkpointing
3. Evaluate model performance
4. Achieve our north star goal of 75% accuracy
2025-09-17 00:15:13 -04:00
Vijay Janapa Reddi
c366e9d1c2 Standardize NBGrader formatting and fix test execution patterns across all modules
This comprehensive update ensures all TinyTorch modules follow consistent NBGrader
formatting guidelines and proper Python module structure:

- Fix test execution patterns: All test calls now wrapped in if __name__ == "__main__" blocks
- Add ML Systems Thinking Questions to modules missing them
- Standardize NBGrader formatting (BEGIN/END SOLUTION blocks, STEP-BY-STEP, etc.)
- Remove unused imports across all modules
- Fix syntax errors (apostrophes, special characters)
- Ensure modules can be imported without running tests

Affected modules: All 17 development modules (00-16)
Agent workflow: Module Developer → QA Agent → Package Manager coordination
Testing: Comprehensive QA validation completed
2025-09-16 19:48:54 -04:00
Vijay Janapa Reddi
f2842b7935 Standardize all modules to follow NBGrader style guide
- Updated 7 non-compliant modules for consistency
- Module 01_setup: Added EXAMPLE USAGE sections with code examples
- Module 02_tensor: Added STEP-BY-STEP IMPLEMENTATION and LEARNING CONNECTIONS
- Module 05_dense: Added LEARNING CONNECTIONS to all functions
- Module 06_spatial: Added STEP-BY-STEP and LEARNING CONNECTIONS
- Module 08_dataloader: Added LEARNING CONNECTIONS sections
- Module 11_training: Added STEP-BY-STEP and LEARNING CONNECTIONS
- Module 14_benchmarking: Added STEP-BY-STEP and LEARNING CONNECTIONS
- All modules now follow consistent format per NBGRADER_STYLE_GUIDE.md
- Preserved all existing solution blocks and functionality
2025-09-16 16:48:14 -04:00
Vijay Janapa Reddi
4fced96023 Fix module test execution issues
- Fixed test functions to only run when modules executed directly
- Added proper __name__ == '__main__' guards to all test calls
- Fixed syntax errors from incorrect replacements in Module 13 and 15
- Modules now import properly without executing tests
- ProductionBenchmarkingProfiler (Module 14) and ProductionMLSystemProfiler (Module 16) fully working
- Other profiler classes present but require full numpy environment to test completely
2025-09-16 00:17:32 -04:00
Vijay Janapa Reddi
ce77693723 Removes development heading from notebook
Removes a redundant development heading from the dataloader notebook, streamlining the document's structure and improving readability.
2025-07-20 18:02:37 -04:00
Vijay Janapa Reddi
8a7550b1fb Add missing markdown documentation to 08_dataloader module
- Add documentation for test_unit_dataset_interface function
- Add documentation for test_unit_dataloader function
- Add documentation for test_unit_simple_dataset function
- Add documentation for test_unit_dataloader_pipeline function
- Ensures every code function has preceding explanatory markdown cell
- Maintains educational clarity and structure
2025-07-20 17:49:03 -04:00
Vijay Janapa Reddi
35fa89a457 Add section organization to 08_dataloader module: Add DEVELOPMENT section header
- Insert ## 🔧 DEVELOPMENT header before first test function
- Organizes module according to educational structure guidelines
- Maintains all existing functionality and test execution
- Improves readability and navigation for educational use
2025-07-20 14:05:03 -04:00
Vijay Janapa Reddi
38aee6ab19 Deprecate AUTO TESTING: Remove run_module_tests_auto from all _dev.py modules. Standardize on full-module test execution for reliable, context-aware testing. 2025-07-20 13:28:10 -04:00
Vijay Janapa Reddi
f48f791d28 Removes integration test execution
Stops the automatic execution of the integration test.

This change prevents the test from running every time the module is loaded,
allowing for more focused and controlled testing.
2025-07-20 12:59:54 -04:00
Vijay Janapa Reddi
1d799b4f24 Removes autogenerated markdown section
Removes a markdown section that appears to be autogenerated documentation, cleaning up the code.
2025-07-20 12:57:02 -04:00
Vijay Janapa Reddi
b69cff7f4d Fix test function calls in spatial and dataloader modules - move test calls outside __main__ blocks 2025-07-20 12:54:15 -04:00
Vijay Janapa Reddi
c39923fe5c Simplify plot handling - remove _should_show_plots functions and plot guards 2025-07-20 12:47:14 -04:00
Vijay Janapa Reddi
99b32d2719 Removes development headers from notebooks
Removes redundant "DEVELOPMENT" headers from several notebook files.

These headers are no longer necessary and declutter the notebook content, improving readability and focus on the core content and testing sections.
2025-07-20 12:39:21 -04:00
Vijay Janapa Reddi
701278f932 Standardize section headers for 08_dataloader module 2025-07-20 12:29:02 -04:00
Vijay Janapa Reddi
9869308a51 Fix test naming and enhance plot detection 2025-07-20 12:20:00 -04:00
Vijay Janapa Reddi
a63f0aa221 Add structural organization headers to 08_dataloader module
- Added ## 🔧 DEVELOPMENT section before Step 1 where development begins
- Added ## 🤖 AUTO TESTING section before auto testing block
- Updated to ## 🎯 MODULE SUMMARY: Data Loading Systems

Improves notebook organization without changing any code logic or content.
2025-07-20 10:01:34 -04:00
Vijay Janapa Reddi
2fbd0d9915 Fix 08_dataloader: Move Module Summary AFTER STANDARDIZED MODULE TESTING
CORRECTED ORDER:
 BEFORE: Module Summary (line 1054) → STANDARDIZED MODULE TESTING (wrong order)
 AFTER: Integration tests → STANDARDIZED MODULE TESTING → Module Summary 

Changes:
1.  Removed Module Summary from wrong location (before testing section)
2.  Added Module Summary after run_module_tests_auto call
3.  Correct pattern: ## 🧪 Module Testing (1055) → ## 🎯 Module Summary (1115)
4.  No code between STANDARDIZED MODULE TESTING and Module Summary

Module 08_dataloader now follows the exact pattern the user requested
2025-07-20 09:29:36 -04:00
Vijay Janapa Reddi
a65db71762 Fix 08_dataloader: Move STANDARDIZED MODULE TESTING before Module Summary
CORRECTED ORDER:
 BEFORE: Module Summary (line 979) → STANDARDIZED MODULE TESTING (line 1137) 
 AFTER: STANDARDIZED MODULE TESTING → Module Summary 

Changes:
- Moved complete testing section (Module Testing + standardized cell + integration tests + run_module_tests_auto) to line 979
- Moved Module Summary section to follow after testing
- Removed duplicate testing sections
- Now follows correct pattern: Testing → Summary

Module 08_dataloader now has proper ordering
2025-07-20 09:16:12 -04:00
Vijay Janapa Reddi
8f99f0e61a 🚀 Training System: Standardize test naming in ML training pipeline
- DataLoader: test_integration_* → test_module_* (module dependency tests)
- Autograd: test_variable_class → test_unit_variable_class
- Autograd: test_add_operation → test_unit_add_operation
- Autograd: test_multiply_operation → test_unit_multiply_operation
- Autograd: test_subtract_operation → test_unit_subtract_operation
- Autograd: test_chain_rule → test_unit_chain_rule
- Autograd: test_neural_network_training → test_module_neural_network_training
- Optimizers: test_integration_* → test_module_* (module dependency tests)
- Training: All test_* → test_unit_* except test_training → test_module_training
- Completes test standardization for complete training pipeline
2025-07-20 08:39:13 -04:00
Vijay Janapa Reddi
9d637e80ef refactor: Implement learner-focused module progression with better naming
 Renamed modules for clearer pedagogical flow:
- 05_networks → 05_dense (multi-layer dense/fully connected networks)
- 06_cnn → 06_spatial (convolutional networks for spatial patterns)
- 06_attention → 07_attention (attention mechanisms for sequences)

 Shifted remaining modules down by 1:
- 07_dataloader → 08_dataloader
- 08_autograd → 09_autograd
- 09_optimizers → 10_optimizers
- 10_training → 11_training
- 11_compression → 12_compression
- 12_kernels → 13_kernels
- 13_benchmarking → 14_benchmarking
- 14_mlops → 15_mlops
- 15_capstone → 16_capstone

 Updated module metadata (module.yaml files):
- Updated names, descriptions, dependencies
- Fixed prerequisite chains and enables relationships
- Updated export paths to match new names

New learner progression:
Foundation → Individual Layers → Dense Networks → Spatial Networks → Attention Networks → Training Pipeline

Perfect pedagogical flow: Build one layer → Stack dense layers → Add spatial patterns → Add attention mechanisms → Learn to train them all.
2025-07-18 00:12:50 -04:00