通过 Hydra 的配置文件灵活控制 LightningModule
、LightningDataModule
、Callback
和 Trainer
的实例化过程。
Lightning 与 Hydra 的结合
1. 配置文件结构
一个典型的配置文件目录可能如下:
configs/
├── callbacks/
│ ├── early_stopping.yaml
│ ├── checkpoint.yaml
│ └── default.yaml
├── data/
│ ├── openfold.yaml
│ └── cifar10.yaml
├── model/
│ ├── alphafold3.yaml
│ └── resnet.yaml
├── trainer/
│ ├── deepspeed.yaml
│ └── default.yaml
├── logger/
│ ├── wandb.yaml
│ └── tensorboard.yaml
└── main.yaml
main.yaml
:
defaults:- data: openfold- model: alphafold3- logger: wandb- callbacks: default- trainer: default
data/openfold.yaml
:
_target_: my_project.data.OpenFoldDataModule
batch_size: 32
num_workers: 4