pub struct GnnOptimizerConfig {
pub num_nodes: usize,
pub hidden_dim: usize,
pub num_message_rounds: usize,
pub topology: GraphTopology,
pub aggregation: MessageAggregation,
pub activation: MessageActivation,
pub base_lr: f64,
pub momentum_decay: f64,
pub rms_decay: f64,
pub history_decay: f64,
pub max_grad_norm: f64,
pub seed: u64,
}Expand description
Configuration for GnnOptimizer.
The numeric hyper-parameters are stored as f64 and converted to the
optimizer’s scalar type T when the optimizer is constructed.
Fields§
§num_nodes: usizeRequested number of graph nodes (clamped to the parameter count at run time).
Dimension of the GRU hidden state and message space.
num_message_rounds: usizeNumber of synchronous message-passing rounds per optimization step.
topology: GraphTopologyInter-node graph connectivity.
aggregation: MessageAggregationNeighbour message aggregation rule.
activation: MessageActivationMessage nonlinearity.
base_lr: f64Base learning rate applied before the learned per-node step scale.
momentum_decay: f64EMA decay for the gradient (momentum), often called beta1.
rms_decay: f64EMA decay for the squared gradient (RMS), often called beta2.
history_decay: f64EMA decay for the per-node update-history feature.
max_grad_norm: f64Maximum gradient L2 norm; larger gradients are rescaled before use.
seed: u64Seed for deterministic weight initialisation.
Trait Implementations§
Source§impl Clone for GnnOptimizerConfig
impl Clone for GnnOptimizerConfig
Source§impl Debug for GnnOptimizerConfig
impl Debug for GnnOptimizerConfig
Auto Trait Implementations§
impl Freeze for GnnOptimizerConfig
impl RefUnwindSafe for GnnOptimizerConfig
impl Send for GnnOptimizerConfig
impl Sync for GnnOptimizerConfig
impl Unpin for GnnOptimizerConfig
impl UnsafeUnpin for GnnOptimizerConfig
impl UnwindSafe for GnnOptimizerConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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> ⓘ
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
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
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
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.