Configuration File Overview#
This document goes into detail on the expected configuration file formatting for running and hyperparameter tuning all models.
Run files#
Running a model is typically done using the associated run.py script. An example of this for the LSTM model is:
dataset:
name: PDE_KS
pair_ids: [1] # or 1-3, or [1, 2, 3], or empty
model:
batch_size: 128
epochs: 50
gradient_clip_val: 1.0
hidden_state_size: 30
log_every_n_steps: 1
lr: 0.001
model: lstm
name: lstm
seed: 0
seq_length: 30
solver: fixed_rk4
Notice that there are two top-level fields, the dataset and the model field. The dataset field specifies the associated dataset and pair_ids to train the model on. If pair_ids is omitted, it trains the model on all pair_ids. The model field contain the hyperparameters for training the model.
Tuning files#
Hyperparameter tuning for a model is typically done using the associated run_opt.py script. An example of this for the LSTM model is:
dataset:
name: KS_Official
pair_id: 1
hyperparameters:
hidden_state_size:
lower_bound: 8
type: randint
upper_bound: 256
lr:
lower_bound: 1.0e-05
type: loguniform
upper_bound: 0.01
seq_length:
lower_bound: 5
type: randint
upper_bound: 512
model:
batch_size: 128
epochs: 200
gradient_clip_val: 1.0
model: lstm
n_trials: 100
name: lstm
seed: 0
solver: fixed_rk4
train_split: 0.8
There are three top-level fields: dataset, hyperparameters, and model. The dataset field is the same as above, as well as the model field. The new field, hyperparameters, contains the names of the hyperparameters to optimize as well as the search spaces. The search space information uses language and notation from RayTune’s Search Space API.
More details on hyperparameter optimization can be found in Tune Module.