autograd

Build Status

A library to run the computation graphs, whose backend is rust-ndarray.

Overview

Example

```rust

extern crate autograd as ag;

let ref x = ag::placeholder(&[1]); let ref y = ag::variable(ag::init::zeros(&[1])); // z is a target of partial differentiation. let ref z = 2xx + 3*y + 1; // dz/dy let ref g1 = ag::gradients(z, &[y], None)[0]; // dz/dx (necessary to fill the placeholder x) let ref g2 = ag::gradients(z, &[x], None)[0]; // ddz/dx (second order derivative) let ref gg = ag::gradients(g2, &[x], None)[0];

// evaluation of symbolic gradients asserteq!(3., g1.eval()[0]); let feeddict = ag::Input::new().add(x, ag::init::fromscalar(2.)); asserteq!(8., g2.evalwithinput(feeddict)[0]); asserteq!(4., gg.eval()[0]); ```

For more, see examples or tests.

Documentation

WIP

License

MIT