pub struct CheckpointConfig {
pub checkpoint_every: usize,
pub enabled: bool,
}Expand description
Gradient checkpointing configuration.
Controls how activations are stored during forward pass.
Higher checkpoint_every values reduce memory but increase compute.
Fields§
§checkpoint_every: usizeCheckpoint every N layers
enabled: boolEnable checkpointing
Implementations§
Source§impl CheckpointConfig
impl CheckpointConfig
Sourcepub fn new(checkpoint_every: usize, enabled: bool) -> CheckpointConfig
pub fn new(checkpoint_every: usize, enabled: bool) -> CheckpointConfig
Create a new checkpoint config.
Sourcepub fn memory_reduction_factor(&self, num_layers: usize) -> f64
pub fn memory_reduction_factor(&self, num_layers: usize) -> f64
Calculate expected memory reduction factor.
Returns a value between 0 and 1, where lower is better.
Trait Implementations§
Source§impl Clone for CheckpointConfig
impl Clone for CheckpointConfig
Source§fn clone(&self) -> CheckpointConfig
fn clone(&self) -> CheckpointConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CheckpointConfig
impl Debug for CheckpointConfig
Source§impl Default for CheckpointConfig
impl Default for CheckpointConfig
Source§fn default() -> CheckpointConfig
fn default() -> CheckpointConfig
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CheckpointConfig
impl RefUnwindSafe for CheckpointConfig
impl Send for CheckpointConfig
impl Sync for CheckpointConfig
impl Unpin for CheckpointConfig
impl UnwindSafe for CheckpointConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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