57 lines
1.8 KiB
Markdown
57 lines
1.8 KiB
Markdown
The lightning validation loop handles everything except the actual computations of your model. To decide what will happen in your validation loop, define the [validation_step function](../../Pytorch-lightning/LightningModule/#validation_step).
|
|
Below are all the things lightning automates for you in the validation loop.
|
|
|
|
**Note**
|
|
Lightning will run 5 steps of validation in the beginning of training as a sanity check so you don't have to wait until a full epoch to catch possible validation issues.
|
|
|
|
|
|
|
|
|
|
---
|
|
#### Check validation every n epochs
|
|
If you have a small dataset you might want to check validation every n epochs
|
|
``` {.python}
|
|
# DEFAULT
|
|
trainer = Trainer(check_val_every_n_epoch=1)
|
|
```
|
|
|
|
---
|
|
#### Set how much of the validation set to check
|
|
If you don't want to check 100% of the validation set (for debugging or if it's huge), set this flag
|
|
``` {.python}
|
|
# DEFAULT
|
|
trainer = Trainer(val_percent_check=1.0)
|
|
|
|
# check 10% only
|
|
trainer = Trainer(val_percent_check=0.1)
|
|
```
|
|
|
|
---
|
|
#### Set how much of the test set to check
|
|
If you don't want to check 100% of the test set (for debugging or if it's huge), set this flag
|
|
``` {.python}
|
|
# DEFAULT
|
|
trainer = Trainer(test_percent_check=1.0)
|
|
|
|
# check 10% only
|
|
trainer = Trainer(test_percent_check=0.1)
|
|
```
|
|
|
|
---
|
|
#### Set validation check frequency within 1 training epoch
|
|
For large datasets it's often desirable to check validation multiple times within a training loop
|
|
``` {.python}
|
|
# DEFAULT
|
|
trainer = Trainer(val_check_interval=0.95)
|
|
|
|
# check every .25 of an epoch
|
|
trainer = Trainer(val_check_interval=0.25)
|
|
```
|
|
|
|
---
|
|
#### Set the number of validation sanity steps
|
|
Lightning runs a few steps of validation in the beginning of training. This avoids crashing in the validation loop sometime deep into a lengthy training loop.
|
|
``` {.python}
|
|
# DEFAULT
|
|
trainer = Trainer(nb_sanity_val_steps=5)
|
|
``` |