Struct LearningCheckpointer
pub struct LearningCheckpointer<M>where
M: LearnerModel,{ /* private fields */ }Expand description
Used to create, delete, or load checkpoints of the training process.
Implementations§
§impl<M> LearningCheckpointer<M>where
M: LearnerModel,
impl<M> LearningCheckpointer<M>where
M: LearnerModel,
pub fn new(
model: AsyncCheckpointer<ModuleRecord>,
optim: AsyncCheckpointer<OptimizerRecord>,
lr_scheduler: AsyncCheckpointer<LrSchedulerRecord>,
strategy: Box<dyn CheckpointingStrategy>,
) -> LearningCheckpointer<M>
pub fn new( model: AsyncCheckpointer<ModuleRecord>, optim: AsyncCheckpointer<OptimizerRecord>, lr_scheduler: AsyncCheckpointer<LrSchedulerRecord>, strategy: Box<dyn CheckpointingStrategy>, ) -> LearningCheckpointer<M>
Create a new learning checkpointer.
pub fn checkpoint(
&mut self,
learner: &Learner<M>,
epoch: usize,
store: &EventStoreClient,
)
pub fn checkpoint( &mut self, learner: &Learner<M>, epoch: usize, store: &EventStoreClient, )
Create checkpoint for the training process.
pub fn load_checkpoint(&self, learner: Learner<M>, epoch: usize) -> Learner<M>
pub fn load_checkpoint(&self, learner: Learner<M>, epoch: usize) -> Learner<M>
Load a training checkpoint.
No device is taken: checkpoints are device-free burnpack records (file-backed bytes). On load, the model keeps the device of the learner’s existing parameters, and the optimizer state is migrated to each parameter’s device on the next step. The training device is fixed earlier, when the learner’s model is created/forked.
Auto Trait Implementations§
impl<M> !RefUnwindSafe for LearningCheckpointer<M>
impl<M> !Sync for LearningCheckpointer<M>
impl<M> !UnwindSafe for LearningCheckpointer<M>
impl<M> Freeze for LearningCheckpointer<M>
impl<M> Send for LearningCheckpointer<M>
impl<M> Unpin for LearningCheckpointer<M>where
M: Unpin,
impl<M> UnsafeUnpin for LearningCheckpointer<M>
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
§impl<K, Q> Comparable<Q> for K
impl<K, Q> Comparable<Q> for K
§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
Compare self to
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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