Every experiment consists of (at least) the following files/folders:
- train.py: This file implements a training class that inherits the training template class from general/train.py. In there, the model and task object are created, and arguments for training are defined. For starting a training of the experiment, the train.py is executed (i.e.
python train.py --...
) - task.py: Besides a training object, every experiment also provides a task object which implements the loss calculation and tensorboard logging for the specific experiment. Again, the task class inherits the template from general/task.py.
- eval.py: File for running the evaluation on the test set for a saved model:
python eval.py --checkpoint_path ...
. - model.py: File for implementing the normalizing flow or other likelihood-based model to apply on the task. The file is usually named more specifically based on the network architecture, and multiple models can be implemented per experiment.
- datasets/: Folder that contains the files for loading the datasets of the expeirment. The actual data is, however, saved in a separate
data/
folder. - checkpoints/: Folder to save models and training information in sub-folders of.