pub struct FederatedClient {
pub id: usize,
pub parameters: HashMap<String, Tensor>,
pub num_samples: usize,
pub learning_rate: f32,
}Expand description
Client in federated learning
Fields§
§id: usizeClient ID
parameters: HashMap<String, Tensor>Local model parameters
num_samples: usizeNumber of local samples
learning_rate: f32Local learning rate
Implementations§
Source§impl FederatedClient
impl FederatedClient
Sourcepub fn new(
id: usize,
parameters: HashMap<String, Tensor>,
num_samples: usize,
) -> Self
pub fn new( id: usize, parameters: HashMap<String, Tensor>, num_samples: usize, ) -> Self
Create a new federated client
Sourcepub fn local_train(&mut self, num_epochs: usize, batch_size: usize)
pub fn local_train(&mut self, num_epochs: usize, batch_size: usize)
Perform local training
Sourcepub fn get_update(
&self,
initial_params: &HashMap<String, Tensor>,
) -> HashMap<String, Tensor>
pub fn get_update( &self, initial_params: &HashMap<String, Tensor>, ) -> HashMap<String, Tensor>
Get model update (difference from initial parameters)
Sourcepub fn set_parameters(&mut self, parameters: HashMap<String, Tensor>)
pub fn set_parameters(&mut self, parameters: HashMap<String, Tensor>)
Set parameters
Trait Implementations§
Source§impl Clone for FederatedClient
impl Clone for FederatedClient
Source§fn clone(&self) -> FederatedClient
fn clone(&self) -> FederatedClient
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 moreAuto Trait Implementations§
impl Freeze for FederatedClient
impl !RefUnwindSafe for FederatedClient
impl Send for FederatedClient
impl Sync for FederatedClient
impl Unpin for FederatedClient
impl !UnwindSafe for FederatedClient
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