pub struct SparseGradient {
pub indices: Vec<usize>,
pub values: Vec<f32>,
pub shape: Vec<usize>,
pub metadata: TensorMetadata,
}Expand description
Sparse gradient representation
Fields§
§indices: Vec<usize>Indices of non-zero elements (flattened)
values: Vec<f32>Non-zero gradient values
shape: Vec<usize>Original tensor shape
metadata: TensorMetadataMetadata
Implementations§
Source§impl SparseGradient
impl SparseGradient
Sourcepub fn new(indices: Vec<usize>, values: Vec<f32>, shape: Vec<usize>) -> Self
pub fn new(indices: Vec<usize>, values: Vec<f32>, shape: Vec<usize>) -> Self
Create a new sparse gradient
Sourcepub fn total_elements(&self) -> usize
pub fn total_elements(&self) -> usize
Get the total number of elements
Sourcepub fn sparsity_ratio(&self) -> f32
pub fn sparsity_ratio(&self) -> f32
Get the sparsity ratio (0.0 = dense, 1.0 = all zeros)
Sourcepub fn verify_shape(&self) -> Result<(), GradientError>
pub fn verify_shape(&self) -> Result<(), GradientError>
Verify shape consistency
Trait Implementations§
Source§impl Clone for SparseGradient
impl Clone for SparseGradient
Source§fn clone(&self) -> SparseGradient
fn clone(&self) -> SparseGradient
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 SparseGradient
impl Debug for SparseGradient
Source§impl<'de> Deserialize<'de> for SparseGradient
impl<'de> Deserialize<'de> for SparseGradient
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
Auto Trait Implementations§
impl Freeze for SparseGradient
impl RefUnwindSafe for SparseGradient
impl Send for SparseGradient
impl Sync for SparseGradient
impl Unpin for SparseGradient
impl UnwindSafe for SparseGradient
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