lightning/tests
Jeremy Jordan 1cf430f7bc
new feature for profiling training runs (#782)
* initial implementation

* formatting, pass through profiler, docstring

* call profiler during training

* add initial tests

* report stats when training is done

* fix formatting

* error handling, bugfix in passthroughprofiler

* finish documenting profiler arg in Trainer

* relax required precision for profiling tests

* option to dump cProfiler results to text file

* use logging, format with black

* include profiler in docs

* improved logging and better docs

* appease the linter

* better summaries, wrapper for iterables

* fix typo

* allow profiler=True creation

* more documentation

* add tests for advanced profiler

* Update trainer.py

* make profilers accessible in pl.utilities

* reorg profiler files

* change import for profiler tests

Co-authored-by: William Falcon <waf2107@columbia.edu>
2020-02-06 22:01:21 -05:00
..
README.md update org paths & convert logos (#685) 2020-01-20 14:50:31 -05:00
__init__.py added init to test folder 2019-07-24 21:32:31 -04:00
conftest.py Fix amp tests (#661) 2020-01-05 14:34:25 -05:00
debug.py rename variables nb -> num (#567) 2019-12-04 06:57:10 -05:00
requirements.txt Update requirements.txt 2020-01-21 08:11:22 -05:00
test_amp.py Fix amp tests (#661) 2020-01-05 14:34:25 -05:00
test_cpu_models.py Check early stopping metric in the beginning of the training (#542) 2020-01-23 11:12:51 -05:00
test_gpu_models.py Fix failing GPU tests (#722) 2020-01-21 14:26:43 -05:00
test_logging.py rename logging -> loggers (#767) 2020-02-01 15:47:58 -05:00
test_profiler.py new feature for profiling training runs (#782) 2020-02-06 22:01:21 -05:00
test_restore_models.py Resolve some codefactor issues (#756) 2020-02-01 18:44:05 -05:00
test_trainer.py Resolve some codefactor issues (#756) 2020-02-01 18:44:05 -05:00
utils.py rename logging -> loggers (#767) 2020-02-01 15:47:58 -05:00

README.md

PyTorch-Lightning Tests

Most PL tests train a full MNIST model under various trainer conditions (ddp, ddp2+amp, etc...). This provides testing for most combinations of important settings. The tests expect the model to perform to a reasonable degree of testing accuracy to pass.

Running tests

The automatic travis tests ONLY run CPU-based tests. Although these cover most of the use cases, run on a 2-GPU machine to validate the full test-suite.

To run all tests do the following:

git clone https://github.com/PyTorchLightning/pytorch-lightning
cd pytorch-lightning

# install module locally
pip install -e .

# install dev deps
pip install -r requirements.txt

# run tests
py.test -v

To test models that require GPU make sure to run the above command on a GPU machine. The GPU machine must have:

  1. At least 2 GPUs.
  2. NVIDIA-apex installed.

Running Coverage

Make sure to run coverage on a GPU machine with at least 2 GPUs and NVIDIA apex installed.

cd pytorch-lightning

# generate coverage 
pip install coverage
coverage run --source pytorch_lightning -m py.test pytorch_lightning tests examples -v --doctest-modules

# print coverage stats
coverage report -m

# exporting resulys
coverage xml
codecov -t 17327163-8cca-4a5d-86c8-ca5f2ef700bc  -v