pub struct ZeROState {
pub step: usize,
pub optimizer_states: HashMap<String, HashMap<String, Tensor>>,
pub gradient_partitions: HashMap<String, GradientBuffer>,
pub parameter_partitions: HashMap<String, ParameterPartition>,
pub communication_buffers: HashMap<String, Tensor>,
}Expand description
ZeRO optimizer state management
Fields§
§step: usizeCurrent step number
optimizer_states: HashMap<String, HashMap<String, Tensor>>Partitioned optimizer states per parameter group
gradient_partitions: HashMap<String, GradientBuffer>Partitioned gradients (for Stage 2+)
parameter_partitions: HashMap<String, ParameterPartition>Partitioned parameters (for Stage 3)
communication_buffers: HashMap<String, Tensor>Communication buffers for all-gather operations
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ZeROState
impl RefUnwindSafe for ZeROState
impl Send for ZeROState
impl Sync for ZeROState
impl Unpin for ZeROState
impl UnwindSafe for ZeROState
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