-
Notifications
You must be signed in to change notification settings - Fork 662
How It Works
ashleve edited this page Jul 12, 2022
·
1 revision
All PyTorch Lightning modules are dynamically instantiated from module paths specified in config. Example model config:
_target_: src.models.mnist_model.MNISTLitModule
lr: 0.001
net:
_target_: src.models.components.simple_dense_net.SimpleDenseNet
input_size: 784
lin1_size: 256
lin2_size: 256
lin3_size: 256
output_size: 10
Using this config we can instantiate the object with the following line:
model = hydra.utils.instantiate(config.model)
This allows you to easily iterate over new models! Every time you create a new one, just specify its module path and parameters in appropriate config file.
Switch between models and datamodules with command line arguments:
python train.py model=mnist
Example pipeline managing the instantiation logic: src/tasks/train_task.py.