Commit Graph

3 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
b428b63b81 feat: implement professional selective export pattern across all modules
BREAKING CHANGE: Refactor from whole-module exports to selective function/class exports

**What Changed:**
- Separate development utilities from production exports
- Each function/class gets individual #| export directive
- Clean Prerequisites & Setup sections in all modules
- Development helpers (import_previous_module) not exported

**Module Export Summary:**
- 01_tensor: Tensor class only
- 02_activations: Sigmoid, ReLU, Tanh, GELU, Softmax only
- 03_layers: Linear, Dropout only
- 04_losses: MSELoss, CrossEntropyLoss, BinaryCrossEntropyLoss, log_softmax only
- 05_autograd: Function class only
- 06_optimizers: SGD, Adam, AdamW only

**Benefits:**
 Clean public API (matches PyTorch/TensorFlow patterns)
 No development utilities in final package
 Professional software education standards
 Clear separation of concerns
 Educational clarity for students

This matches industry standards for educational ML frameworks.
2025-09-30 09:48:47 -04:00
Vijay Janapa Reddi
e82ec44e6a feat: standardize integration testing with import helpers
- Add import_previous_module() helper function to all core modules (01-07)
- Standardize cross-module imports for integration testing
- Add clear Prerequisites & Setup sections explaining module dependencies
- Update integration tests to use standardized import pattern
- Maintain clean separation between development and production code

This provides a consistent, educational approach to module integration
while keeping the codebase maintainable and student-friendly.
2025-09-30 09:42:58 -04:00
Vijay Janapa Reddi
cc7c7526c8 Clean up module imports: convert tinytorch.core to sys.path style
- Remove circular imports where modules imported from themselves
- Convert tinytorch.core imports to sys.path relative imports
- Only import dependencies that are actually used in each module
- Preserve documentation imports in markdown cells
- Use consistent relative path pattern across all modules
- Remove hardcoded absolute paths in favor of relative imports

Affected modules: 02_activations, 03_layers, 04_losses, 06_optimizers,
07_training, 09_spatial, 12_attention, 17_quantization
2025-09-30 08:58:58 -04:00