pub struct CommonBuilderConfig {
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>,
pub session_pool_size: Option<usize>,
}Expand description
Common configuration for model builders.
This struct contains configuration options that are common across different types of model builders in the OCR pipeline.
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)
session_pool_size: Option<usize>Size of the pinned session pool to allow concurrent predictions (>=1) If None, defaults to 1 (single session)
Implementations§
Source§impl CommonBuilderConfig
impl CommonBuilderConfig
Sourcepub fn with_model_path(model_path: PathBuf) -> Self
pub fn with_model_path(model_path: PathBuf) -> Self
Sourcepub fn model_path(self, model_path: impl Into<PathBuf>) -> Self
pub fn model_path(self, model_path: impl Into<PathBuf>) -> Self
Sourcepub fn model_name(self, model_name: impl Into<String>) -> Self
pub fn model_name(self, model_name: impl Into<String>) -> Self
Sourcepub fn batch_size(self, batch_size: usize) -> Self
pub fn batch_size(self, batch_size: usize) -> Self
Sourcepub fn enable_logging(self, enable: bool) -> Self
pub fn enable_logging(self, enable: bool) -> Self
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) -> Self
pub fn ort_session(self, cfg: OrtSessionConfig) -> Self
Sourcepub fn session_pool_size(self, size: usize) -> Self
pub fn session_pool_size(self, size: usize) -> Self
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: &CommonBuilderConfig) -> Self
pub fn merge_with(self, other: &CommonBuilderConfig) -> Self
Sourcepub fn get_batch_size(&self) -> usize
pub fn get_batch_size(&self) -> usize
Sourcepub fn get_session_pool_size(&self) -> usize
pub fn get_session_pool_size(&self) -> usize
Gets the effective session pool size.
§Returns
The session pool size, or a default value if not set.
Sourcepub fn get_model_name(&self) -> String
pub fn get_model_name(&self) -> String
Trait Implementations§
Source§impl Clone for CommonBuilderConfig
impl Clone for CommonBuilderConfig
Source§fn clone(&self) -> CommonBuilderConfig
fn clone(&self) -> CommonBuilderConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ConfigValidator for CommonBuilderConfig
impl ConfigValidator for CommonBuilderConfig
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 get_defaults() -> Self
fn get_defaults() -> Self
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 CommonBuilderConfig
impl Debug for CommonBuilderConfig
Source§impl Default for CommonBuilderConfig
impl Default for CommonBuilderConfig
Source§impl<'de> Deserialize<'de> for CommonBuilderConfig
impl<'de> Deserialize<'de> for CommonBuilderConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for CommonBuilderConfig
impl RefUnwindSafe for CommonBuilderConfig
impl Send for CommonBuilderConfig
impl Sync for CommonBuilderConfig
impl Unpin for CommonBuilderConfig
impl UnwindSafe for CommonBuilderConfig
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.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.