How jrgautam123/miniautograd works
miniautograd is an educational NumPy auto-differentiation library. A user can encode labels, run inputs through an MLP, compute a loss, and invoke backpropagation; the library does not provide an optimizer or training-loop orchestrator, so users coordinate those steps. The computation engine builds operation nodes and propagates gradients, while ParameterTracker records loss, parameter values, and gradient norms when called by the user. README capabilities guide the map; edges reflect the sampled implementation and documented features.
Main entry points: __init__.py Public API · nn.py MLP · engine.py Value operations · loss.py Loss functions
Components 8
Autograd engine
- Value operations
autograd/engine/engine.py - Backward pass
autograd/engine/engine.py
Model and losses
- MLP
autograd/nn/nn.py - Loss functions
autograd/loss/loss.py
Input and tracking
- Public API
autograd/__init__.py - Label encoders
autograd/encoder/encoder.py - Parameter tracker
autograd/engine/tracker.py
Other components
- Library user
Connections 15
- Library user → Public API: imports
- Public API → Label encoders: exports
- Public API → MLP: exports
- Public API → Loss functions: exports
- Public API → Value operations: exports
- Public API → Parameter tracker: exports
- Library user → Label encoders: encodes labels
- Library user → MLP: runs inputs
- MLP → Value operations: builds operations
- Library user → Loss functions: computes loss
- Loss functions → Value operations: builds operations
- Library user → Backward pass: invokes backward
- Backward pass → Value operations: propagates gradients
- Library user → Parameter tracker: records metrics
- Parameter tracker → MLP: reads parameters