26 releases

0.12.1 Mar 21, 2024
0.11.4 Oct 12, 2023
0.10.2 Dec 31, 2022
0.8.0 Nov 11, 2022

#13 in #autodiff

Download history 2/week @ 2024-02-14 9/week @ 2024-02-21 167/week @ 2024-03-06 19/week @ 2024-03-13 129/week @ 2024-03-20 7/week @ 2024-03-27 8/week @ 2024-04-03

144 downloads per month

MIT/Apache

3KB

Zyx

Zyx is machine learning library written in Rust.

For README and source code, please visit github.

Just a quick taste:

cargo add zyx-opencl;
cargo add zyx-optim;
cargo add zyx-nn;
let dev = zyx_opencl::device()?;

let l0 = dev.linear(3, 1024);
let l1 = dev.linear(1024, 2);

let x = dev.tensor([2, 3, 1]).cast(DType::F32);
let target = dev.tensor([2, 4]);

let mut optim = zyx_optim::SGD {
    learning_rate: 0.01,
    momentum: 0.9,
    nesterov: true,
    ..Default::default()
};

let train_steps = 100;
for _ in 0..train_steps {
    let y = l0.forward(&x).relu();
    let y = l1.forward(&y).sigmoid();
    let loss = y.mse_loss(&target):
    loss.backward(l0.into_iter().chain(l1.into_iter()));
    optim.update(l0.into_iter().chain(l1.into_iter()));
}

l0.into_iter().chain(l1.into_iter()).save("my_net.safetensors");

For more details, there is a book.

No runtime deps