pub enum PrecisionMode {
FP32,
FP16,
BF16,
}Expand description
Precision mode for mixed precision training.
Variants§
FP32
Full precision (FP32) - baseline
FP16
Half precision (FP16) - 2x memory reduction
BF16
Brain floating point (BF16) - better for training
Implementations§
Source§impl PrecisionMode
impl PrecisionMode
Sourcepub fn bytes_per_element(&self) -> usize
pub fn bytes_per_element(&self) -> usize
Returns the number of bytes per element for this precision.
Sourcepub fn memory_reduction(&self) -> f32
pub fn memory_reduction(&self) -> f32
Returns the memory reduction factor compared to FP32.
Sourcepub fn numerical_range(&self) -> (f32, f32)
pub fn numerical_range(&self) -> (f32, f32)
Returns the typical numerical range for this precision.
Trait Implementations§
Source§impl Clone for PrecisionMode
impl Clone for PrecisionMode
Source§fn clone(&self) -> PrecisionMode
fn clone(&self) -> PrecisionMode
Returns a duplicate of the value. Read more
1.0.0 · 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 PrecisionMode
impl Debug for PrecisionMode
Source§impl<'de> Deserialize<'de> for PrecisionMode
impl<'de> Deserialize<'de> for PrecisionMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PrecisionMode
impl PartialEq for PrecisionMode
Source§impl Serialize for PrecisionMode
impl Serialize for PrecisionMode
impl Copy for PrecisionMode
impl Eq for PrecisionMode
impl StructuralPartialEq for PrecisionMode
Auto Trait Implementations§
impl Freeze for PrecisionMode
impl RefUnwindSafe for PrecisionMode
impl Send for PrecisionMode
impl Sync for PrecisionMode
impl Unpin for PrecisionMode
impl UnwindSafe for PrecisionMode
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> 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