Skip to main content

OptimizationParams

Struct OptimizationParams 

Source
pub struct OptimizationParams {
Show 15 fields pub n_epochs: usize, pub batch_size: usize, pub learning_rate: f64, pub beta1: f64, pub beta2: f64, pub penalty: f32, pub repulsion_strength: f32, pub patience: Option<i32>, pub loss_reduction: LossReduction, pub min_desired_loss: Option<f64>, pub timeout: Option<u64>, pub verbose: bool, pub neg_sample_rate: usize, pub cooldown_ms: u64, pub figures_dir: Option<PathBuf>,
}
Expand description

Configuration for stochastic gradient descent optimization.

These parameters control the embedding optimization process.

Fields§

§n_epochs: usize

Number of optimization epochs.

Default: 100

§batch_size: usize

The number of samples to process in each training batch.

Default: 1000

§learning_rate: f64

Initial learning rate for the Adam optimizer.

Default: 0.001

§beta1: f64

Beta1 parameter for the Adam optimizer.

Default: 0.9

§beta2: f64

Beta2 parameter for the Adam optimizer.

Default: 0.999

§penalty: f32

L2 regularization (weight decay) penalty.

Default: 1e-5

§repulsion_strength: f32

Weight applied to the repulsion term of the UMAP cross-entropy loss.

Default: 1.0

§patience: Option<i32>

Number of epochs to wait for improvement before triggering early stopping. None disables early stopping.

Default: None

§loss_reduction: LossReduction

The method used to reduce the loss (mean or sum).

Default: Sum

§min_desired_loss: Option<f64>

Minimum desired loss to achieve before stopping early.

Default: None

§timeout: Option<u64>

Maximum training time in seconds. None means no limit.

Default: None

§verbose: bool

Whether to show detailed progress information during training.

Default: false

§neg_sample_rate: usize

Number of negative (repulsion) samples drawn per positive (attraction) edge each epoch.

Higher values produce stronger repulsion and better cluster separation at the cost of more computation per epoch.

Default: 5

§cooldown_ms: u64

Milliseconds to sleep at the end of every training epoch.

Inserting a small pause between epochs lets the GPU scheduler breathe, preventing the device from being pinned at 100 % utilisation for the entire run. Typical values:

cooldown_msEffect
0 (default)No pause — maximum throughput
1–5Barely perceptible pause, ~10–20 % GPU headroom
10–50Noticeable slowdown, significant GPU headroom

Default: 0 (disabled)

§figures_dir: Option<PathBuf>

Directory where loss-curve and embedding snapshot plots are written when verbose is true (or the verbose feature flag is enabled).

Defaults to "figures" (relative to the current working directory). Set this to an absolute path — or any writable location — if the process runs on a read-only filesystem.

When None the default "figures" directory is used.

Trait Implementations§

Source§

impl Clone for OptimizationParams

Source§

fn clone(&self) -> OptimizationParams

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OptimizationParams

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for OptimizationParams

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for OptimizationParams

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for OptimizationParams

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Adaptor<()> for T

Source§

fn adapt(&self)

Adapt the type to be passed to a metric.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoComptime for T

Source§

fn comptime(self) -> Self

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,