pub struct ElasticConfig {
pub base_learning_rate: f64,
pub reference_world_size: usize,
pub dataset_shards: usize,
pub min_world_size: usize,
pub max_world_size: usize,
pub warmup_steps: usize,
}Expand description
Configuration of an elastic training run.
Fields§
§base_learning_rate: f64Base (reference) learning rate, valid at reference_world_size workers.
reference_world_size: usizeWorld size the base_learning_rate was tuned for (the linear-scaling
reference). Must be at least one.
dataset_shards: usizeNumber of dataset shards D to distribute across the workers.
min_world_size: usizeMinimum allowed world size: a leave that would drop below this is rejected.
max_world_size: usizeMaximum allowed world size: a join that would rise above this is rejected.
warmup_steps: usizeNumber of gradual-warmup steps applied to the learning rate after a resize
(0 disables warmup).
Implementations§
Source§impl ElasticConfig
impl ElasticConfig
Sourcepub fn new(
base_learning_rate: f64,
reference_world_size: usize,
dataset_shards: usize,
min_world_size: usize,
max_world_size: usize,
warmup_steps: usize,
) -> Result<Self>
pub fn new( base_learning_rate: f64, reference_world_size: usize, dataset_shards: usize, min_world_size: usize, max_world_size: usize, warmup_steps: usize, ) -> Result<Self>
Create and validate an elastic configuration.
§Errors
Returns an error when base_learning_rate is non-finite or non-positive,
reference_world_size, dataset_shards or min_world_size are zero, or
max_world_size < min_world_size.
Trait Implementations§
Source§impl Clone for ElasticConfig
impl Clone for ElasticConfig
Source§fn clone(&self) -> ElasticConfig
fn clone(&self) -> ElasticConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ElasticConfig
impl Debug for ElasticConfig
Source§impl Default for ElasticConfig
impl Default for ElasticConfig
Source§impl PartialEq for ElasticConfig
impl PartialEq for ElasticConfig
impl StructuralPartialEq for ElasticConfig
Auto Trait Implementations§
impl Freeze for ElasticConfig
impl RefUnwindSafe for ElasticConfig
impl Send for ElasticConfig
impl Sync for ElasticConfig
impl Unpin for ElasticConfig
impl UnsafeUnpin for ElasticConfig
impl UnwindSafe for ElasticConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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,
impl<T> Scalar for T
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.