## Goal Close the training loop: forward → loss → backward → step. ## Tasks - [ ] `optim::SGD` with learning rate (and optional momentum) - [ ] Loss functions: `mse_loss`, `cross_entropy` - [ ] Example: train an MLP on a toy dataset (XOR or sklearn moons) ## Acceptance criteria - Loss decreases monotonically on the toy example - Example lives in `examples/` and runs from a single command
Goal
Close the training loop: forward → loss → backward → step.
Tasks
optim::SGDwith learning rate (and optional momentum)mse_loss,cross_entropyAcceptance criteria
examples/and runs from a single command