dymad.models.model_spec

Typed model-spec contracts for predefined-model construction.

Classes

DecoderSpec(kind)

DynamicsSpec(kind)

EncoderSpec(kind)

FeatureSpec(kind)

MemorySpec(family, latent_state, ...)

ModelSpec(recipe, time_domain, graph_mode, ...)

Authoritative typed model specification for model construction.

RecipeSpec(kind, model_cls)

ResolvedModelSpec(model_spec, dims, ...)

Normalized construction plan produced from a ModelSpec.

RolloutSpec(family, default_predictor, ...)

Exceptions

ModelSpecValidationError

Raised when a typed model spec cannot be resolved safely.

class dymad.models.model_spec.DecoderSpec(kind)

Bases: object

property family: Literal['auto', 'graph', 'node']
kind: Literal['auto', 'graph', 'node']
class dymad.models.model_spec.DynamicsSpec(kind)

Bases: object

property family: Literal['direct', 'skip', 'graph_direct', 'graph_skip']
kind: Literal['direct', 'skip', 'graph_direct', 'graph_skip']
class dymad.models.model_spec.EncoderSpec(kind)

Bases: object

property family: Literal['smpl', 'raw', 'graph', 'node', 'node_raw', 'smpl_auto', 'graph_auto']
kind: Literal['smpl', 'raw', 'graph', 'node', 'node_raw', 'smpl_auto', 'graph_auto']
class dymad.models.model_spec.FeatureSpec(kind)

Bases: object

property family: Literal['none', 'cat', 'blin', 'graph_cat', 'graph_blin']
kind: Literal['none', 'cat', 'blin', 'graph_cat', 'graph_blin']
class dymad.models.model_spec.MemorySpec(family, latent_state, requires_delay_window)

Bases: object

family: str
latent_state: str
requires_delay_window: bool
class dymad.models.model_spec.ModelSpec(recipe, time_domain, graph_mode, encoder, feature, dynamics, decoder, rollout, memory=None, name=None)

Bases: object

Authoritative typed model specification for model construction.

property continuous_time: bool
decoder: DecoderSpec
dynamics: DynamicsSpec
encoder: EncoderSpec
feature: FeatureSpec
graph_mode: Literal['none', 'graph', 'node']
memory: MemorySpec | None = None
property model_cls: object
name: str | None = None
recipe: RecipeSpec
rollout: RolloutSpec
time_domain: Literal['continuous', 'discrete']
exception dymad.models.model_spec.ModelSpecValidationError

Bases: ValueError

Raised when a typed model spec cannot be resolved safely.

class dymad.models.model_spec.RecipeSpec(kind, model_cls)

Bases: object

kind: Literal['ldm', 'sdm', 'lfm', 'km', 'kmsk', 'kmm']
model_cls: object
class dymad.models.model_spec.ResolvedModelSpec(model_spec, dims, encoder_key, feature_key, dynamics_key, decoder_key, predictor_key, predictor, input_order, processor_net, graph_mode, linear_mode, continuous_time)

Bases: object

Normalized construction plan produced from a ModelSpec.

continuous_time: bool
decoder_key: str
dims: dict[str, Any]
dynamics_key: str
encoder_key: str
feature_key: str
graph_mode: Literal['none', 'graph', 'node']
input_order: str | None
linear_mode: Literal['smpl', 'graph']
model_spec: ModelSpec
predictor: Callable[..., Any]
predictor_key: Literal['continuous', 'continuous_np', 'continuous_exp', 'continuous_fenc', 'discrete', 'discrete_exp']
processor_net: object
class dymad.models.model_spec.RolloutSpec(family, default_predictor, allowed_predictors, supports_control_inputs=True)

Bases: object

allowed_predictors: tuple[Literal['continuous', 'continuous_np', 'continuous_exp', 'continuous_fenc', 'discrete', 'discrete_exp'], ...]
default_predictor: Literal['continuous', 'continuous_np', 'continuous_exp', 'continuous_fenc', 'discrete', 'discrete_exp']
family: str
supports_control_inputs: bool = True