pub struct MobileOptimizer { /* private fields */ }Expand description
Mobile-optimized optimizer with memory and latency constraints
Implementations§
Source§impl MobileOptimizer
impl MobileOptimizer
pub fn new( base_optimizer: Box<dyn Optimizer>, config: HardwareAwareConfig, ) -> Result<Self>
Sourcepub fn compress_gradients(&self, gradients: &[Tensor]) -> Result<Vec<Tensor>>
pub fn compress_gradients(&self, gradients: &[Tensor]) -> Result<Vec<Tensor>>
Compresses gradients to the configured precision for mobile deployment.
The returned tensors carry the reduced dtype (F16 for
CompressionRatio::Half), so the memory saving is real and observable via
Tensor::size_bytes.
§Errors
Returns an error when a gradient’s dtype cannot be converted.
Trait Implementations§
Source§impl Optimizer for MobileOptimizer
impl Optimizer for MobileOptimizer
Source§fn update(&mut self, parameter: &mut Tensor, grad: &Tensor) -> Result<()>
fn update(&mut self, parameter: &mut Tensor, grad: &Tensor) -> Result<()>
Updates a parameter based on its gradient. Read more
Source§fn accumulate_grad(
&mut self,
parameter: &mut Tensor,
grad: &Tensor,
) -> Result<(), TrustformersError>
fn accumulate_grad( &mut self, parameter: &mut Tensor, grad: &Tensor, ) -> Result<(), TrustformersError>
Accumulates gradients for gradient accumulation. Read more
Source§fn apply_accumulated_grads(
&mut self,
accumulation_steps: usize,
) -> Result<(), TrustformersError>
fn apply_accumulated_grads( &mut self, accumulation_steps: usize, ) -> Result<(), TrustformersError>
Applies accumulated gradients after gradient accumulation. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for MobileOptimizer
impl !UnwindSafe for MobileOptimizer
impl Freeze for MobileOptimizer
impl Send for MobileOptimizer
impl Sync for MobileOptimizer
impl Unpin for MobileOptimizer
impl UnsafeUnpin for MobileOptimizer
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 more