pub struct LearningCheckpointer<M: LearnerModel> { /* private fields */ }Expand description
Used to create, delete, or load checkpoints of the training process.
Implementations§
Source§impl<M: LearnerModel> LearningCheckpointer<M>
impl<M: LearnerModel> LearningCheckpointer<M>
Sourcepub fn new(
model: AsyncCheckpointer<ModuleRecord>,
optim: AsyncCheckpointer<OptimizerRecord>,
lr_scheduler: AsyncCheckpointer<LrSchedulerRecord>,
strategy: Box<dyn CheckpointingStrategy>,
) -> Self
pub fn new( model: AsyncCheckpointer<ModuleRecord>, optim: AsyncCheckpointer<OptimizerRecord>, lr_scheduler: AsyncCheckpointer<LrSchedulerRecord>, strategy: Box<dyn CheckpointingStrategy>, ) -> Self
Create a new learning checkpointer.
Sourcepub 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.
Sourcepub 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>where
PhantomData<M>: Freeze,
impl<M> Send for LearningCheckpointer<M>where
PhantomData<M>: Send,
impl<M> Unpin for LearningCheckpointer<M>where
PhantomData<M>: Unpin,
impl<M> UnsafeUnpin for LearningCheckpointer<M>where
PhantomData<M>: UnsafeUnpin,
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> 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