Dsxir.Optimizer.MIPROv2.Auto (dsxir v0.3.0)

Copy Markdown

Pure-data preset table for MIPROv2's auto: :light | :medium | :heavy knob.

Each preset is a fixed map of num_trials, num_instruction_candidates, num_demo_sets, and minibatch_size. expand/2 merges a preset into a user opts list while keeping user-supplied values intact.

Summary

Functions

Merge an auto preset into an opts keyword list. User-supplied keys override preset values; preset values fill in only when the user didn't set the key.

Returns the preset map for an auto level. Raises on unknown preset.

Types

preset()

@type preset() :: :light | :medium | :heavy

Functions

expand(opts, level)

@spec expand(
  keyword(),
  preset()
) :: keyword()

Merge an auto preset into an opts keyword list. User-supplied keys override preset values; preset values fill in only when the user didn't set the key.

preset(level)

@spec preset(preset()) :: %{
  num_trials: pos_integer(),
  num_instruction_candidates: pos_integer(),
  num_demo_sets: pos_integer(),
  minibatch_size: pos_integer()
}

Returns the preset map for an auto level. Raises on unknown preset.