pub struct DifferentialPrivacyConfig {
pub target_epsilon: f64,
pub target_delta: f64,
pub noise_multiplier: f64,
pub l2_norm_clip: f64,
pub batch_size: usize,
pub dataset_size: usize,
pub max_steps: usize,
pub noise_mechanism: NoiseMechanism,
pub secure_aggregation: bool,
pub adaptive_clipping: bool,
pub adaptive_clip_init: f64,
pub adaptive_clip_lr: f64,
}Expand description
Differential privacy configuration
Fields§
§target_epsilon: f64Target privacy parameter epsilon
target_delta: f64Privacy parameter delta (typically 1/n where n is dataset size)
noise_multiplier: f64Noise multiplier for gradient perturbation
l2_norm_clip: f64L2 norm clipping threshold for gradients
batch_size: usizeBatch size for sampling
dataset_size: usizeDataset size for privacy accounting
max_steps: usizeMaximum number of training steps
noise_mechanism: NoiseMechanismNoise mechanism to use
secure_aggregation: boolEnable secure aggregation (for federated learning)
adaptive_clipping: boolEnable adaptive clipping
adaptive_clip_init: f64Initial clipping threshold for adaptive clipping
adaptive_clip_lr: f64Learning rate for adaptive clipping
Trait Implementations§
Source§impl Clone for DifferentialPrivacyConfig
impl Clone for DifferentialPrivacyConfig
Source§fn clone(&self) -> DifferentialPrivacyConfig
fn clone(&self) -> DifferentialPrivacyConfig
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 DifferentialPrivacyConfig
impl Debug for DifferentialPrivacyConfig
Auto Trait Implementations§
impl Freeze for DifferentialPrivacyConfig
impl RefUnwindSafe for DifferentialPrivacyConfig
impl Send for DifferentialPrivacyConfig
impl Sync for DifferentialPrivacyConfig
impl Unpin for DifferentialPrivacyConfig
impl UnwindSafe for DifferentialPrivacyConfig
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.