dair_pll.experiment_config

Configuration dataclasses for experiments.

class dair_pll.experiment_config.SystemConfig[source]

Bases: object

Dummy base dataclass for parameters for learning dynamics; all inheriting classes are expected to contain all necessary configuration attributes.

class dair_pll.experiment_config.OptimizerConfig(optimizer=torch.optim.Adam, lr=Float(1e-05), wd=Float(4e-05), epochs=10000, patience=30, batch_size=Int(64))[source]

Bases: object

dataclass() defining setup and usage opf a Pytorch Optimizer() for learning.

lr: dair_pll.hyperparameter.Float = Float(1e-05)

Learning rate.

wd: dair_pll.hyperparameter.Float = Float(4e-05)

Weight decay.

epochs: int = 10000

Maximum number of epochs to optimize.

patience: int = 30

Number of epochs to wait for early stopping.

batch_size: dair_pll.hyperparameter.Int = Int(64)

Size of batch for an individual gradient step.

class dair_pll.experiment_config.SupervisedLearningExperimentConfig(data_config=<factory>, base_config=<factory>, learnable_config=<factory>, optimizer_config=<factory>, storage='./', run_name='experiment_run', run_wandb=True, wandb_project=None, full_evaluation_period=1, full_evaluation_samples=5, update_geometry_in_videos=False)[source]

Bases: object

dataclass defining setup of a SupervisedLearningExperiment

data_config: dair_pll.data_config.DataConfig

Configuration for experiment’s SystemDataManager.

base_config: dair_pll.experiment_config.SystemConfig

Configuration for experiment’s “base” system, from which trajectories are modeled and optionally generated.

learnable_config: dair_pll.experiment_config.SystemConfig

Configuration for system to be learned.

optimizer_config: dair_pll.experiment_config.OptimizerConfig

Configuration for experiment’s optimization process.

storage: str = './'

Folder for results/data storage. Defaults to working directory.

run_name: str = 'experiment_run'

Unique identifier for experiment run.

run_wandb: bool = True

Whether to run Weights and Biases logging.

wandb_project: typing.Optional[str] = None

If run_wandb, a project to store results under on W&B.

full_evaluation_period: int = 1

How many epochs should pass between full evaluations.

full_evaluation_samples: int = 5

How many trajectories to save in full for experiment’s summary.

update_geometry_in_videos: bool = False

Whether to use learned geometry in rollout videos, primarily for debugging purposes.