irithyll-core 0.3.0

Core types and inference engine for irithyll streaming ML — no_std, loss functions, observation trait, f32 + int16 packed formats, branch-free traversal
Documentation

Core types and inference engine for irithyll streaming ML models.

irithyll-core provides loss functions, observation traits, a compact binary format, and branch-free traversal for deploying trained SGBT models on embedded targets (Cortex-M0+, 32KB flash).

Features

  • Loss functions — squared, logistic, Huber, softmax, expectile, quantile
  • Observation trait — zero-copy training interface with SampleRef
  • 12-byte packed nodes — 5 nodes per 64-byte cache line
  • Zero-copy EnsembleView — constructed from &[u8], no allocation after validation
  • Branch-free traversalcmov/csel child selection, no pipeline stalls
  • #![no_std] — zero mandatory dependencies, runs on bare metal

Usage

use irithyll_core::{EnsembleView, FormatError};

// Load packed binary (e.g. from flash, file, or network)
let packed_bytes: &[u8] = &[/* exported via irithyll::export_embedded() */];
let view = EnsembleView::from_bytes(packed_bytes)?;
let prediction = view.predict(&[1.0f32, 2.0, 3.0]);