pub struct ModelInferenceConfig {
pub model_path: Option<PathBuf>,
pub model_name: Option<String>,
pub batch_size: Option<usize>,
pub enable_logging: Option<bool>,
pub ort_session: Option<OrtSessionConfig>,
}Expand description
Configuration for model inference and ONNX Runtime session setup.
This struct provides configuration options for building ONNX inference engines, including runtime settings and model metadata.
Fields§
§model_path: Option<PathBuf>The path to the model file (optional).
model_name: Option<String>The name of the model (optional).
batch_size: Option<usize>The batch size for processing (optional).
enable_logging: Option<bool>Whether to enable logging (optional).
ort_session: Option<OrtSessionConfig>ONNX Runtime session configuration for this model (optional).
Implementations§
Source§impl ModelInferenceConfig
impl ModelInferenceConfig
Sourcepub fn new() -> ModelInferenceConfig
pub fn new() -> ModelInferenceConfig
Creates a new ModelInferenceConfig with default values.
§Returns
A new ModelInferenceConfig instance.
Sourcepub fn with_defaults(
model_name: Option<String>,
batch_size: Option<usize>,
) -> ModelInferenceConfig
pub fn with_defaults( model_name: Option<String>, batch_size: Option<usize>, ) -> ModelInferenceConfig
Sourcepub fn with_model_path(model_path: PathBuf) -> ModelInferenceConfig
pub fn with_model_path(model_path: PathBuf) -> ModelInferenceConfig
Sourcepub fn model_path(self, model_path: impl Into<PathBuf>) -> ModelInferenceConfig
pub fn model_path(self, model_path: impl Into<PathBuf>) -> ModelInferenceConfig
Sourcepub fn model_name(self, model_name: impl Into<String>) -> ModelInferenceConfig
pub fn model_name(self, model_name: impl Into<String>) -> ModelInferenceConfig
Sourcepub fn batch_size(self, batch_size: usize) -> ModelInferenceConfig
pub fn batch_size(self, batch_size: usize) -> ModelInferenceConfig
Sourcepub fn enable_logging(self, enable: bool) -> ModelInferenceConfig
pub fn enable_logging(self, enable: bool) -> ModelInferenceConfig
Sourcepub fn get_enable_logging(&self) -> bool
pub fn get_enable_logging(&self) -> bool
Gets whether logging is enabled for the configuration.
§Returns
True if logging is enabled, false otherwise.
Sourcepub fn ort_session(self, cfg: OrtSessionConfig) -> ModelInferenceConfig
pub fn ort_session(self, cfg: OrtSessionConfig) -> ModelInferenceConfig
Sourcepub fn validate(&self) -> Result<(), ConfigError>
pub fn validate(&self) -> Result<(), ConfigError>
Validates the configuration.
§Returns
A Result indicating success or a ConfigError if validation fails.
Sourcepub fn merge_with(self, other: &ModelInferenceConfig) -> ModelInferenceConfig
pub fn merge_with(self, other: &ModelInferenceConfig) -> ModelInferenceConfig
Sourcepub fn get_batch_size(&self) -> usize
pub fn get_batch_size(&self) -> usize
Sourcepub fn get_model_name(&self) -> String
pub fn get_model_name(&self) -> String
Trait Implementations§
Source§impl Clone for ModelInferenceConfig
impl Clone for ModelInferenceConfig
Source§fn clone(&self) -> ModelInferenceConfig
fn clone(&self) -> ModelInferenceConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ConfigValidator for ModelInferenceConfig
impl ConfigValidator for ModelInferenceConfig
Source§fn validate(&self) -> Result<(), ConfigError>
fn validate(&self) -> Result<(), ConfigError>
Validates the configuration.
This method checks that the batch size is valid and that the model path exists if it is specified.
§Returns
A Result indicating success or a ConfigError if validation fails.
Source§fn validate_batch_size(&self, batch_size: usize) -> Result<(), ConfigError>
fn validate_batch_size(&self, batch_size: usize) -> Result<(), ConfigError>
Source§fn validate_batch_size_with_limits(
&self,
batch_size: usize,
max_batch_size: usize,
) -> Result<(), ConfigError>
fn validate_batch_size_with_limits( &self, batch_size: usize, max_batch_size: usize, ) -> Result<(), ConfigError>
Source§fn validate_model_path(&self, path: &Path) -> Result<(), ConfigError>
fn validate_model_path(&self, path: &Path) -> Result<(), ConfigError>
Source§fn validate_image_dimensions(
&self,
width: u32,
height: u32,
) -> Result<(), ConfigError>
fn validate_image_dimensions( &self, width: u32, height: u32, ) -> Result<(), ConfigError>
Source§fn validate_confidence_threshold(
&self,
threshold: f32,
) -> Result<(), ConfigError>
fn validate_confidence_threshold( &self, threshold: f32, ) -> Result<(), ConfigError>
Source§fn validate_memory_limit(&self, limit_mb: usize) -> Result<(), ConfigError>
fn validate_memory_limit(&self, limit_mb: usize) -> Result<(), ConfigError>
Source§fn validate_thread_count(&self, thread_count: usize) -> Result<(), ConfigError>
fn validate_thread_count(&self, thread_count: usize) -> Result<(), ConfigError>
Source§fn validate_f32_range(
&self,
value: f32,
min: f32,
max: f32,
field_name: &str,
) -> Result<(), ConfigError>
fn validate_f32_range( &self, value: f32, min: f32, max: f32, field_name: &str, ) -> Result<(), ConfigError>
Source§fn validate_positive_f32(
&self,
value: f32,
field_name: &str,
) -> Result<(), ConfigError>
fn validate_positive_f32( &self, value: f32, field_name: &str, ) -> Result<(), ConfigError>
Source§fn validate_positive_usize(
&self,
value: usize,
field_name: &str,
) -> Result<(), ConfigError>
fn validate_positive_usize( &self, value: usize, field_name: &str, ) -> Result<(), ConfigError>
Source§impl Debug for ModelInferenceConfig
impl Debug for ModelInferenceConfig
Source§impl Default for ModelInferenceConfig
impl Default for ModelInferenceConfig
Source§fn default() -> ModelInferenceConfig
fn default() -> ModelInferenceConfig
This allows ModelInferenceConfig to be created with default values.
Source§impl<'de> Deserialize<'de> for ModelInferenceConfig
impl<'de> Deserialize<'de> for ModelInferenceConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ModelInferenceConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ModelInferenceConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for ModelInferenceConfig
impl Serialize for ModelInferenceConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for ModelInferenceConfig
impl RefUnwindSafe for ModelInferenceConfig
impl Send for ModelInferenceConfig
impl Sync for ModelInferenceConfig
impl Unpin for ModelInferenceConfig
impl UnwindSafe for ModelInferenceConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ConfigDefaults for Twhere
T: ConfigValidator,
impl<T> ConfigDefaults for Twhere
T: ConfigValidator,
Source§impl<T> ConfigValidatorExt for Twhere
T: ConfigValidator,
impl<T> ConfigValidatorExt for Twhere
T: ConfigValidator,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.