catboost-sys
one attempts to rebuild the shared library, whereas this one downloads it from the github release page.build.rs
script is rewritten to also work for M1 macs (same strategy, downloading the shared library).Send
so that it can be used across threads, due to the documentation stating it's thread safe. Note that this is not yet extensively tested though.wrapper.h
and the files in the model_interface
folder.onnxruntime-rs
[dependencies]
catboost-rs = "0.1.3"
libcatboostmodel.so
. If you are using Mac, download libcatboostmodel.dylib
. As of the present, only version 1.0.6 is supported./usr/lib
fn main() { // Load the trained model let model = catboost::Model::load("tmp/model.bin").unwrap();
println!("Number of cat features {}", model.get_cat_features_count());
println!("Number of float features {}", model.get_float_features_count());
// Apply the model
let prediction = model
.calc_model_prediction(
vec![
vec![-10.0, 5.0, 753.0],
vec![30.0, 1.0, 760.0],
vec![40.0, 0.1, 705.0],
],
vec![
vec![String::from("north")],
vec![String::from("south")],
vec![String::from("south")],
],
)
.unwrap();
println!("Prediction {:?}", prediction);
} ```
Run cargo doc --open
in catboost/rust-package
directory.
Run cargo test
in catboost/rust-package
directory.
To run tests with sanitizer, uncomment line "--sanitize=address",
in catboost/rust-package/catboost-sys/build.rs
and run RUSTFLAGS="-Z sanitizer=address" cargo +nightly test
.