# Machine Learning Primitives

Whenever I go to use a new machine learning algorithm / architecture / technique, I normally write it out myself first using plain Rust and NDArray. 
Doing all the differentiation and grunt work helps me appreciate this stuff more, and I like that nothing is hidden. I figured I would collect these 
handwritten architectures as I go, into a kind of mini-framework / primitives set.

### Sections
- `envs`: Various simulators used to test stuff
- `nn`: Core neural net components, stuff like basic FFN, Attention, Layernorm, CTRNN, etc. TBD some experimentals in the `nn/experimental` dir.
- `optim`: Gradient collection and training, AdamW, SGD
- `rl`: A couple RL algos, SAC is still a bit sketch, but PPO & TD3 are solid.
- `util`: Graphing and benchmarking
- `f`: Function set
