pub enum InitMethod {
Show 18 variants
XavierUniform {
gain: f32,
},
XavierNormal {
gain: f32,
},
KaimingUniform {
mode: FanMode,
nonlinearity: Nonlinearity,
},
KaimingNormal {
mode: FanMode,
nonlinearity: Nonlinearity,
},
Uniform {
low: f32,
high: f32,
},
Normal {
mean: f32,
std: f32,
},
Zeros,
Ones,
Constant {
value: f32,
},
Orthogonal {
gain: f32,
},
Sparse {
sparsity: f32,
std: f32,
},
Eye,
LecunUniform,
LecunNormal,
TruncatedNormal {
mean: f32,
std: f32,
a: f32,
b: f32,
},
VarianceScaling {
scale: f32,
mode: FanMode,
distribution: Distribution,
},
Dirac,
SIREN {
c: f32,
w0: f32,
},
}Expand description
Enumeration of initialization methods
Variants§
XavierUniform
Xavier/Glorot uniform initialization
XavierNormal
Xavier/Glorot normal initialization
KaimingUniform
Kaiming/He uniform initialization
KaimingNormal
Kaiming/He normal initialization
Uniform
Uniform random initialization
Normal
Normal random initialization
Zeros
Zero initialization
Ones
Ones initialization
Constant
Constant initialization
Orthogonal
Orthogonal initialization
Sparse
Sparse initialization
Eye
Identity/Eye initialization
LecunUniform
Lecun uniform initialization
LecunNormal
Lecun normal initialization
TruncatedNormal
Truncated normal initialization
VarianceScaling
Variance scaling initialization (generalization of Xavier/Kaiming)
Dirac
Dirac initialization for convolutional layers
SIREN
SIREN initialization for periodic activation functions Recommended for networks using sine activations
Implementations§
Source§impl InitMethod
impl InitMethod
Sourcepub fn xavier_uniform() -> Self
pub fn xavier_uniform() -> Self
Create Xavier/Glorot uniform initialization with default gain (1.0)
Sourcepub fn xavier_normal() -> Self
pub fn xavier_normal() -> Self
Create Xavier/Glorot normal initialization with default gain (1.0)
Sourcepub fn kaiming_uniform() -> Self
pub fn kaiming_uniform() -> Self
Create Kaiming/He uniform initialization for ReLU activations
Sourcepub fn kaiming_normal() -> Self
pub fn kaiming_normal() -> Self
Create Kaiming/He normal initialization for ReLU activations
Sourcepub fn uniform_range(low: f32, high: f32) -> Self
pub fn uniform_range(low: f32, high: f32) -> Self
Create uniform initialization with specified range
Sourcepub fn normal_dist(mean: f32, std: f32) -> Self
pub fn normal_dist(mean: f32, std: f32) -> Self
Create normal initialization with specified mean and standard deviation
Sourcepub fn orthogonal() -> Self
pub fn orthogonal() -> Self
Create orthogonal initialization with default gain (1.0)
Sourcepub fn lecun_uniform() -> Self
pub fn lecun_uniform() -> Self
Create LeCun uniform initialization
Sourcepub fn lecun_normal() -> Self
pub fn lecun_normal() -> Self
Create LeCun normal initialization
Sourcepub fn siren_first_layer() -> Self
pub fn siren_first_layer() -> Self
Create SIREN initialization for first layer (w0=30.0, c=1.0)
Create SIREN initialization for hidden layers (w0=1.0, c=6.0)
Sourcepub fn with_fan_mode(self, mode: FanMode) -> Self
pub fn with_fan_mode(self, mode: FanMode) -> Self
Set the fan mode for applicable initialization methods
Sourcepub fn with_nonlinearity(self, nonlinearity: Nonlinearity) -> Self
pub fn with_nonlinearity(self, nonlinearity: Nonlinearity) -> Self
Set the nonlinearity for applicable initialization methods
Trait Implementations§
Source§impl Clone for InitMethod
impl Clone for InitMethod
Source§fn clone(&self) -> InitMethod
fn clone(&self) -> InitMethod
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InitMethod
impl Debug for InitMethod
Source§impl Initializer for InitMethod
impl Initializer for InitMethod
Auto Trait Implementations§
impl Freeze for InitMethod
impl RefUnwindSafe for InitMethod
impl Send for InitMethod
impl Sync for InitMethod
impl Unpin for InitMethod
impl UnsafeUnpin for InitMethod
impl UnwindSafe for InitMethod
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> 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> ⓘ
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 more