Disable validation when val_percent_check=0 (#1251)

* fix disable validation

* add test

* update changelog

* update docs for val_percent_check

* make "fast training" docs consistent
This commit is contained in:
Adrian Wälchli
2020-03-27 02:07:22 +00:00
committed by GitHub
parent e86e6b2faa
commit 2a4cd479e2
4 changed files with 69 additions and 15 deletions
+16 -13
View File
@@ -1,10 +1,10 @@
Fast Training
================
=============
There are multiple options to speed up different parts of the training by choosing to train
on a subset of data. This could be done for speed or debugging purposes.
Check validation every n epochs
-------------------------------------
-------------------------------
If you have a small dataset you might want to check validation every n epochs
.. code-block:: python
@@ -13,7 +13,7 @@ If you have a small dataset you might want to check validation every n epochs
trainer = Trainer(check_val_every_n_epoch=1)
Force training for min or max epochs
-------------------------------------
------------------------------------
It can be useful to force training for a minimum number of epochs or limit to a max number.
.. seealso::
@@ -26,7 +26,7 @@ It can be useful to force training for a minimum number of epochs or limit to a
Set validation check frequency within 1 training epoch
-------------------------------------------------------
------------------------------------------------------
For large datasets it's often desirable to check validation multiple times within a training loop.
Pass in a float to check that often within 1 training epoch. Pass in an int k to check every k training batches.
Must use an int if using an IterableDataset.
@@ -43,7 +43,7 @@ Must use an int if using an IterableDataset.
trainer = Trainer(val_check_interval=100)
Use training data subset
----------------------------------
------------------------
If you don't want to check 100% of the training set (for debugging or if it's huge), set this flag.
.. code-block:: python
@@ -54,12 +54,11 @@ If you don't want to check 100% of the training set (for debugging or if it's hu
# check 10% only
trainer = Trainer(train_percent_check=0.1)
.. note:: train_percent_check will be overwritten by overfit_pct if overfit_pct > 0
.. note:: ``train_percent_check`` will be overwritten by ``overfit_pct`` if ``overfit_pct`` > 0.
Use test data subset
-------------------------------------
If you don't want to check 100% of the test set (for debugging or if it's huge), set this flag
test_percent_check will be overwritten by overfit_pct if overfit_pct > 0.
--------------------
If you don't want to check 100% of the test set (for debugging or if it's huge), set this flag.
.. code-block:: python
@@ -69,10 +68,11 @@ test_percent_check will be overwritten by overfit_pct if overfit_pct > 0.
# check 10% only
trainer = Trainer(test_percent_check=0.1)
.. note:: ``test_percent_check`` will be overwritten by ``overfit_pct`` if ``overfit_pct`` > 0.
Use validation data subset
--------------------------------------------
If you don't want to check 100% of the validation set (for debugging or if it's huge), set this flag
val_percent_check will be overwritten by overfit_pct if overfit_pct > 0
--------------------------
If you don't want to check 100% of the validation set (for debugging or if it's huge), set this flag.
.. code-block:: python
@@ -80,4 +80,7 @@ val_percent_check will be overwritten by overfit_pct if overfit_pct > 0
trainer = Trainer(val_percent_check=1.0)
# check 10% only
trainer = Trainer(val_percent_check=0.1)
trainer = Trainer(val_percent_check=0.1)
.. note:: ``val_percent_check`` will be overwritten by ``overfit_pct`` if ``overfit_pct`` > 0 and ignored if
``fast_dev_run=True``.