Trait InferenceBackend

Source
pub trait InferenceBackend: Send + Sync {
    // Required methods
    fn new(config: BackendConfig) -> Result<Self, EdgeImpulseError>
       where Self: Sized;
    fn infer(
        &mut self,
        features: Vec<f32>,
        debug: Option<bool>,
    ) -> Result<InferenceResponse, EdgeImpulseError>;
    fn parameters(&self) -> Result<&ModelParameters, EdgeImpulseError>;
    fn sensor_type(&self) -> Result<SensorType, EdgeImpulseError>;
    fn input_size(&self) -> Result<usize, EdgeImpulseError>;
    fn set_debug_callback(&mut self, callback: Box<dyn Fn(&str) + Send + Sync>);
    fn normalize_visual_anomaly(
        &self,
        anomaly: f32,
        max: f32,
        mean: f32,
        regions: &[(f32, u32, u32, u32, u32)],
    ) -> VisualAnomalyResult;
}
Expand description

Trait for inference backends

Required Methods§

Source

fn new(config: BackendConfig) -> Result<Self, EdgeImpulseError>
where Self: Sized,

Create a new backend instance

Source

fn infer( &mut self, features: Vec<f32>, debug: Option<bool>, ) -> Result<InferenceResponse, EdgeImpulseError>

Run inference on features

Source

fn parameters(&self) -> Result<&ModelParameters, EdgeImpulseError>

Get model parameters

Source

fn sensor_type(&self) -> Result<SensorType, EdgeImpulseError>

Get sensor type

Source

fn input_size(&self) -> Result<usize, EdgeImpulseError>

Get input size

Source

fn set_debug_callback(&mut self, callback: Box<dyn Fn(&str) + Send + Sync>)

Set debug callback

Source

fn normalize_visual_anomaly( &self, anomaly: f32, max: f32, mean: f32, regions: &[(f32, u32, u32, u32, u32)], ) -> VisualAnomalyResult

Normalize visual anomaly results

Implementors§