pub struct FeastConfig {
pub n_features: usize,
pub patch: usize,
pub tau_ms: f64,
pub eta: f32,
pub delta_i: f32,
pub delta_e: f32,
pub per_polarity: bool,
pub seed: u64,
}Expand description
Parameters for a Feast model. Defaults follow the paper (patch = 11, eta = 0.001,
ΔI = 0.001, ΔE = 0.003); tau_ms defaults to 30 ms to match [crate::representation:: TimeSurface] and is the exponential decay constant of the time-surface patch.
Fields§
§n_features: usizeNumber of feature prototypes per polarity population (b in the paper).
patch: usizeSide length w of the square ROI patch; must be odd so it centres on the event.
tau_ms: f64Time-surface decay constant, milliseconds.
eta: f32Weight mixing rate η in w ← (1−η)w + η·d.
delta_i: f32Threshold contraction on a match (ΔI).
delta_e: f32Threshold expansion on a miss (ΔE).
per_polarity: boolWhen true, ON and OFF events train independent feature populations (as in the paper’s
N-MNIST setup); when false, a single population learns from both polarities on one merged
surface. For the paper’s ON-only mode, pass an ON-only stream with per_polarity = false.
seed: u64Seed for the random on-hypersphere feature initialisation — fixes reproducibility.
Trait Implementations§
Source§impl Clone for FeastConfig
impl Clone for FeastConfig
Source§fn clone(&self) -> FeastConfig
fn clone(&self) -> FeastConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for FeastConfig
Source§impl Debug for FeastConfig
impl Debug for FeastConfig
Auto Trait Implementations§
impl Freeze for FeastConfig
impl RefUnwindSafe for FeastConfig
impl Send for FeastConfig
impl Sync for FeastConfig
impl Unpin for FeastConfig
impl UnsafeUnpin for FeastConfig
impl UnwindSafe for FeastConfig
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 more