Github CI Crates.io docs.rs

About rhai-ml

This crate provides some basic machine learning and artificial intelligence utilities for the Rhai scripting language. For a complete API reference, check the docs.

Install

To use the latest released version of rhai-ml, add this to your Cargo.toml:

toml rhai-ml = "0.1.0"

To use the bleeding edge instead, add this:

toml rhai-ml = { git = "https://github.com/cmccomb/rhai-ml" }

Usage

Using this crate is pretty simple! If you just want to evaluate a single line of Rhai, then you only need:

rust use rhai::FLOAT; use rhai_ml::eval; let result = eval::<FLOAT>("\ let xdata = [[1.0, 2.0], [2.0, 3.0], [3.0, 4.0]]; \ let ydata = [1.0, 2.0, 3.0]; \ let model = train(xdata, ydata, \"linear\"); \ let ypred = predict(xdata, model); ypred[0] ").unwrap();

If you need to use rhai-ml as part of a persistent Rhai scripting engine, then do this instead:

```rust use rhai::{Engine, packages::Package, FLOAT}; use rhai_ml::MLPackage;

// Create a new Rhai engine let mut engine = Engine::new();

// Add the rhai-ml package to the new engine engine.registerglobalmodule(MLPackage::new().assharedmodule());

// Now run your code let value = engine.eval::("\ let xdata = [[1.0, 2.0], [2.0, 3.0], [3.0, 4.0]]; \ let ydata = [1.0, 2.0, 3.0]; \ let model = train(xdata, ydata, \"linear\"); \ let ypred = predict(xdata, model); ypred[0] ").unwrap(); ```

Features

| Feature | Default | Description | | ----------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | metadata | Disabled | Enables exporting function metadata and is necessary for running doc-tests on Rhai examples. |