Small Rust autograd/tensor playground with CPU + Metal backends, plus learning demos (XOR, decision boundary, CharGPT).
- Autograd on basic tensor ops (CPU + Metal)
- Stable
log_softmax + nll_loss - Toy datasets (spiral/blob) with CSV outputs
- CharGPT mini pipeline (RNN/GRU or minimal GPT)
cargo run --release -- xorcargo run --release -- xorcargo run --release -- spiral
cargo run --release -- blobOutputs:
out/spiral_points.csvout/spiral_grid.csvout/blob_points.csvout/blob_grid.csv
Python plotting (optional):
python py/spiral_draw.py
python py/blob_draw.pyTrain on data/exp.txt (math expressions):
cargo run --release -- char cpu rnn 80
cargo run --release -- char cpu gru 80GPU on macOS:
cargo run --release -- char gpu rnn 80
cargo run --release -- char gpu gru 80Arguments:
- device:
cpu|gpu - model:
rnn|gru|gpt - epochs: optional integer (default 80)
Minimal single-head causal attention:
cargo run --release -- char cpu gpt 20data/exp.txt contains 1000 recursive math expressions.
You can regenerate it if needed.
cargo test -q- GPU speedups only help when compute is large and CPU↔GPU transfers are minimized.
- Current RNN/GRU training uses contiguous batch slicing and gradient clipping.