pub trait Model: Send + Sync {
// Required methods
fn metadata(&self) -> &ModelMetadata;
fn predict(&mut self, input: &RasterBuffer) -> Result<RasterBuffer>;
fn predict_batch(
&mut self,
inputs: &[RasterBuffer],
) -> Result<Vec<RasterBuffer>>;
fn input_shape(&self) -> (usize, usize, usize);
fn output_shape(&self) -> (usize, usize, usize);
}Expand description
Trait for ML models
Required Methods§
Sourcefn metadata(&self) -> &ModelMetadata
fn metadata(&self) -> &ModelMetadata
Returns the model metadata
Sourcefn predict(&mut self, input: &RasterBuffer) -> Result<RasterBuffer>
fn predict(&mut self, input: &RasterBuffer) -> Result<RasterBuffer>
Sourcefn predict_batch(
&mut self,
inputs: &[RasterBuffer],
) -> Result<Vec<RasterBuffer>>
fn predict_batch( &mut self, inputs: &[RasterBuffer], ) -> Result<Vec<RasterBuffer>>
Sourcefn input_shape(&self) -> (usize, usize, usize)
fn input_shape(&self) -> (usize, usize, usize)
Returns the expected input shape (channels, height, width)
Sourcefn output_shape(&self) -> (usize, usize, usize)
fn output_shape(&self) -> (usize, usize, usize)
Returns the expected output shape (channels, height, width)