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 config with all fields unset.
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
Creates a config with the given model name and batch size, logging enabled.
Sourcepub fn with_model_path(model_path: PathBuf) -> ModelInferenceConfig
pub fn with_model_path(model_path: PathBuf) -> ModelInferenceConfig
Creates a config with the given model path, logging enabled.
Sourcepub fn model_path(self, model_path: impl Into<PathBuf>) -> ModelInferenceConfig
pub fn model_path(self, model_path: impl Into<PathBuf>) -> ModelInferenceConfig
Sets the model path.
Sourcepub fn model_name(self, model_name: impl Into<String>) -> ModelInferenceConfig
pub fn model_name(self, model_name: impl Into<String>) -> ModelInferenceConfig
Sets the model name.
Sourcepub fn batch_size(self, batch_size: usize) -> ModelInferenceConfig
pub fn batch_size(self, batch_size: usize) -> ModelInferenceConfig
Sets the batch size.
Sourcepub fn enable_logging(self, enable: bool) -> ModelInferenceConfig
pub fn enable_logging(self, enable: bool) -> ModelInferenceConfig
Enables or disables logging.
Sourcepub fn get_enable_logging(&self) -> bool
pub fn get_enable_logging(&self) -> bool
Returns whether logging is enabled (defaults to true).
Sourcepub fn ort_session(self, cfg: OrtSessionConfig) -> ModelInferenceConfig
pub fn ort_session(self, cfg: OrtSessionConfig) -> ModelInferenceConfig
Sets the ONNX Runtime session configuration.
Sourcepub fn validate(&self) -> Result<(), ConfigError>
pub fn validate(&self) -> Result<(), ConfigError>
Validates the configuration.
Sourcepub fn merge_with(self, other: &ModelInferenceConfig) -> ModelInferenceConfig
pub fn merge_with(self, other: &ModelInferenceConfig) -> ModelInferenceConfig
Merges in another config; its set fields override this one’s.
Sourcepub fn get_batch_size(&self) -> usize
pub fn get_batch_size(&self) -> usize
Effective batch size, defaulting to 1.
Sourcepub fn get_model_name(&self) -> String
pub fn get_model_name(&self) -> String
Model name, defaulting to "unnamed_model".
Trait Implementations§
Source§impl Clone for ModelInferenceConfig
impl Clone for ModelInferenceConfig
Source§fn clone(&self) -> ModelInferenceConfig
fn clone(&self) -> ModelInferenceConfig
1.0.0 (const: unstable) · 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 batch size (if set) and that the model path exists (if set).
Source§fn get_defaults() -> ModelInferenceConfig
fn get_defaults() -> ModelInferenceConfig
Returns the default configuration.
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
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 UnsafeUnpin 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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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.