pub struct CRNNModel { /* private fields */ }Expand description
Pure CRNN model implementation.
This model implements the CRNN architecture for text recognition.
Implementations§
Source§impl CRNNModel
impl CRNNModel
Sourcepub fn new(
inference: OrtInfer,
resizer: OCRResize,
decoder: CTCLabelDecode,
) -> CRNNModel
pub fn new( inference: OrtInfer, resizer: OCRResize, decoder: CTCLabelDecode, ) -> CRNNModel
Creates a new CRNN model.
Sourcepub fn preprocess(
&self,
images: Vec<ImageBuffer<Rgb<u8>, Vec<u8>>>,
) -> Result<ArrayBase<OwnedRepr<f32>, Dim<[usize; 4]>>, OCRError>
pub fn preprocess( &self, images: Vec<ImageBuffer<Rgb<u8>, Vec<u8>>>, ) -> Result<ArrayBase<OwnedRepr<f32>, Dim<[usize; 4]>>, OCRError>
Sourcepub fn preprocess_refs(
&self,
images: &[&ImageBuffer<Rgb<u8>, Vec<u8>>],
) -> Result<ArrayBase<OwnedRepr<f32>, Dim<[usize; 4]>>, OCRError>
pub fn preprocess_refs( &self, images: &[&ImageBuffer<Rgb<u8>, Vec<u8>>], ) -> Result<ArrayBase<OwnedRepr<f32>, Dim<[usize; 4]>>, OCRError>
Preprocesses borrowed images for recognition without cloning their pixel buffers.
This is used by task adapters whose inputs are shared through Arc<RgbImage>.
The resized tensor owns all data needed by inference, so retaining ownership of
the source images during preprocessing is unnecessary.
Sourcepub fn infer(
&self,
batch_tensor: &ArrayBase<OwnedRepr<f32>, Dim<[usize; 4]>>,
) -> Result<ArrayBase<OwnedRepr<f32>, Dim<[usize; 3]>>, OCRError>
pub fn infer( &self, batch_tensor: &ArrayBase<OwnedRepr<f32>, Dim<[usize; 4]>>, ) -> Result<ArrayBase<OwnedRepr<f32>, Dim<[usize; 3]>>, OCRError>
Sourcepub fn postprocess<S>(
&self,
predictions: &ArrayBase<S, Dim<[usize; 3]>>,
return_positions: bool,
) -> CRNNModelOutput
pub fn postprocess<S>( &self, predictions: &ArrayBase<S, Dim<[usize; 3]>>, return_positions: bool, ) -> CRNNModelOutput
Sourcepub fn forward(
&self,
images: Vec<ImageBuffer<Rgb<u8>, Vec<u8>>>,
return_positions: bool,
) -> Result<CRNNModelOutput, OCRError>
pub fn forward( &self, images: Vec<ImageBuffer<Rgb<u8>, Vec<u8>>>, return_positions: bool, ) -> Result<CRNNModelOutput, OCRError>
Sourcepub fn forward_refs(
&self,
images: &[&ImageBuffer<Rgb<u8>, Vec<u8>>],
return_positions: bool,
) -> Result<CRNNModelOutput, OCRError>
pub fn forward_refs( &self, images: &[&ImageBuffer<Rgb<u8>, Vec<u8>>], return_positions: bool, ) -> Result<CRNNModelOutput, OCRError>
Runs recognition from borrowed images without copying their pixel buffers.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for CRNNModel
impl RefUnwindSafe for CRNNModel
impl Send for CRNNModel
impl Sync for CRNNModel
impl Unpin for CRNNModel
impl UnsafeUnpin for CRNNModel
impl UnwindSafe for CRNNModel
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.