pub struct ModelManager { /* private fields */ }Expand description
Manages downloading and caching of OCR models
This struct handles the lifecycle of the ONNX model file, including:
- Determining the cache location (
~/.monocr/models/<revision>/) - Downloading the model and its charset from HuggingFace if not present
- Providing the path to the model file for loading
Implementations§
Source§impl ModelManager
impl ModelManager
Sourcepub fn charset_url(&self) -> String
pub fn charset_url(&self) -> String
The pinned download URL for the charset.
Same revision as the weights — that is the only way to be sure the two agree.
Sourcepub fn get_model_path(&self) -> Result<PathBuf>
pub fn get_model_path(&self) -> Result<PathBuf>
Get the path to the ONNX model file, downloading it if the cache for this revision is empty.
Sourcepub fn get_charset(&self) -> Result<String>
pub fn get_charset(&self) -> Result<String>
Get the charset published alongside the pinned model.
Preferred over the embedded copy because it comes from the same revision as the weights.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ModelManager
impl RefUnwindSafe for ModelManager
impl Send for ModelManager
impl Sync for ModelManager
impl Unpin for ModelManager
impl UnsafeUnpin for ModelManager
impl UnwindSafe for ModelManager
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().