Imp.Training.FastSlow.Config (Imp v0.5.0)

Copy Markdown View Source

Immutable, credential-free configuration for Fast-Slow training runs.

Summary

Types

json_scalar()

@type json_scalar() :: nil | boolean() | number() | String.t()

json_value()

@type json_value() ::
  json_scalar() | [json_value()] | %{required(String.t()) => json_value()}

t()

@type t() :: %Imp.Training.FastSlow.Config{
  adapter_version: String.t(),
  dataset_digests: %{required(String.t()) => String.t()},
  g: pos_integer(),
  k: pos_integer(),
  max_cycles: pos_integer(),
  models: json_value(),
  optimizer_config: json_value(),
  program_topology: json_value(),
  provider_config: json_value(),
  reuse_rollouts: boolean(),
  sampling_config: json_value(),
  t: pos_integer(),
  verifier_version: String.t()
}

Functions

compatibility(config)

@spec compatibility(t()) :: %{required(String.t()) => json_value()}

digest(value)

@spec digest(json_value()) :: String.t()

fingerprint(config)

@spec fingerprint(t()) :: String.t()

json_safe!(value, path \\ [])

@spec json_safe!(term(), [atom() | String.t() | non_neg_integer()]) :: json_value()

new!(options)

@spec new!(keyword() | map()) :: t()

persisted_safe!(value)

@spec persisted_safe!(term()) :: json_value()