Neuronika is a machine learning framework written in pure Rust, built with a focus on ease of use, fast prototyping and performance.
Dynamic neural networks and auto-differentiation
At the core of Neuronika lies a mechanism called reverse-mode automatic differentiation, that allows you to define dynamically changing neural networks with very low effort and no overhead by using a lean, fully imperative and define by run API.
The power of Rust
The Rust language allows for an intuitive, light and easy to use interface while achieving incredible performance. There's no need for a FFI, everything happens in front of your eyes.
Crate Feature Flags
The following crate feature flags are available. They configure the ndarray
backend.
-
serialize
- Enables serialization support for
serde
1.x.
- Enables serialization support for
-
blas
- Enables transparent BLAS support for matrix multiplication. Uses
blas-src
for pluggable backend, which needs to be configured separately. Seehere
for more informations.
- Enables transparent BLAS support for matrix multiplication. Uses
-
matrixmultiply-threading
- Enables the
threading
feature in thematrixmultiply
package.
- Enables the
Project Status
Neuronika is very young and rapidly evolving, we are continously developing the project and breaking changes are expected during transitions from version to version. We adopt the newest stable Rust's features if we need them.