pub struct GradientMessage {
pub id: String,
pub data: Vec<u8>,
pub shape: Vec<usize>,
pub dtype: String,
pub checksum: u64,
pub metadata: HashMap<String, String>,
}Expand description
Gradient message for federated learning
Fields§
§id: StringGradient identifier (e.g., layer name or tensor CID)
data: Vec<u8>Gradient data (compressed)
shape: Vec<usize>Shape of the gradient tensor
dtype: StringData type (f32, f16, etc.)
checksum: u64Checksum for verification
metadata: HashMap<String, String>Metadata (e.g., learning rate, batch size)
Implementations§
Source§impl GradientMessage
impl GradientMessage
Sourcepub fn new(
id: impl Into<String>,
data: Vec<u8>,
shape: Vec<usize>,
dtype: impl Into<String>,
) -> Self
pub fn new( id: impl Into<String>, data: Vec<u8>, shape: Vec<usize>, dtype: impl Into<String>, ) -> Self
Create a new gradient message
Sourcepub fn with_metadata(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> Self
pub fn with_metadata( self, key: impl Into<String>, value: impl Into<String>, ) -> Self
Add metadata
Sourcepub fn num_elements(&self) -> usize
pub fn num_elements(&self) -> usize
Get total elements in gradient
Sourcepub fn size_bytes(&self) -> usize
pub fn size_bytes(&self) -> usize
Estimate size in bytes
Trait Implementations§
Source§impl Clone for GradientMessage
impl Clone for GradientMessage
Source§fn clone(&self) -> GradientMessage
fn clone(&self) -> GradientMessage
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 GradientMessage
impl Debug for GradientMessage
Source§impl<'de> Deserialize<'de> for GradientMessage
impl<'de> Deserialize<'de> for GradientMessage
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 GradientMessage
impl RefUnwindSafe for GradientMessage
impl Send for GradientMessage
impl Sync for GradientMessage
impl Unpin for GradientMessage
impl UnwindSafe for GradientMessage
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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