pub enum AggregationStrategy {
Synchronous,
Asynchronous {
staleness_threshold: u64,
},
FederatedAverage {
rounds: u32,
},
GossipAverage {
fanout: usize,
},
}Expand description
Determines how and when pending updates are aggregated.
Variants§
Synchronous
Classic barrier: all active workers must submit at the current step before any aggregation can proceed.
Asynchronous
Asynchronous aggregation: updates within staleness_threshold steps
of the current step are accepted; older updates are rejected.
FederatedAverage
Aggregate every time at least rounds worker updates have accumulated
for a layer (federated learning style).
GossipAverage
Aggregate when at least fanout updates are available (gossip style).
Trait Implementations§
Source§impl Clone for AggregationStrategy
impl Clone for AggregationStrategy
Source§fn clone(&self) -> AggregationStrategy
fn clone(&self) -> AggregationStrategy
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 moreAuto Trait Implementations§
impl Freeze for AggregationStrategy
impl RefUnwindSafe for AggregationStrategy
impl Send for AggregationStrategy
impl Sync for AggregationStrategy
impl Unpin for AggregationStrategy
impl UnsafeUnpin for AggregationStrategy
impl UnwindSafe for AggregationStrategy
Blanket Implementations§
impl<T> Allocation for T
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> 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