lightning/tests
Sean Naren 635df27880
[BUG] Check environ before selecting a seed to prevent warning message (#4743)
* Check environment var independently to selecting a seed to prevent unnecessary warning message

* Add if statement to check if PL_GLOBAL_SEED has been set

* Added seed test to ensure that the seed stays the same, in case

* if

* Delete global seed after test has finished

* Fix code, add tests

* Ensure seed does not exist before tests start

* Refactor test based on review, add log call

* Ensure we clear the os environ in patched dict

Co-authored-by: Jirka Borovec <Borda@users.noreply.github.com>
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: chaton <thomas@grid.ai>
2021-01-11 23:30:27 -05:00
..
backends update usage of deprecated checkpoint_callback (#5006) 2020-12-09 14:14:34 -05:00
base add memory parity for PL vs Vanilla (#5170) 2020-12-23 14:38:57 -05:00
callbacks deprecate enable_pl_optimizer as it is not restored properly (#5244) 2021-01-08 16:13:12 -05:00
checkpointing populate some more legacy checkpoints (#5457) 2021-01-11 20:36:12 -05:00
core deprecate enable_pl_optimizer as it is not restored properly (#5244) 2021-01-08 16:13:12 -05:00
deprecated_api deprecate enable_pl_optimizer as it is not restored properly (#5244) 2021-01-08 16:13:12 -05:00
loggers [bugfix] Logging only on `not should_accumulate()` during training (#5417) 2021-01-08 19:35:47 -05:00
metrics Fix metric state reset (#5273) 2020-12-29 16:09:10 -05:00
models bugfix: Resolve interpolation bug with Hydra (#5406) 2021-01-09 08:55:55 -05:00
plugins [bug-fix] Trainer.test points to latest best_model_path (#5161) 2021-01-05 05:01:59 -05:00
trainer Add automatic optimization property setter to lightning module (#5169) 2021-01-11 11:21:10 -05:00
tuner fix: `nb` is set total number of devices, when nb is -1. (#4209) 2020-10-29 10:50:37 +01:00
utilities [BUG] Check environ before selecting a seed to prevent warning message (#4743) 2021-01-11 23:30:27 -05:00
README.md Fix pre-commit trailing-whitespace and end-of-file-fixer hooks. (#5387) 2021-01-07 10:54:47 +05:30
__init__.py tests for legacy checkpoints (#5223) 2021-01-08 10:36:49 -05:00
collect_env_details.py add copyright to tests (#5143) 2020-12-15 23:29:13 +05:30
conftest.py update isort config (#5335) 2021-01-03 23:13:22 +01:00
special_tests.sh [bug-fix] Call transfer_batch_to_device in DDPlugin (#5195) 2021-01-08 12:05:22 -05:00
test_profiler.py update isort config (#5335) 2021-01-03 23:13:22 +01: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:

Install Open MPI or another MPI implementation. Learn how to install Open MPI on this page.

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

# install AMP support
bash requirements/install_AMP.sh

# install dev deps
pip install -r requirements/devel.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.
  3. Horovod with NCCL support: HOROVOD_GPU_OPERATIONS=NCCL pip install horovod

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 (coverage is also installed as part of dev dependencies under requirements/devel.txt)
coverage run --source pytorch_lightning -m py.test pytorch_lightning tests examples -v

# print coverage stats
coverage report -m

# exporting results
coverage xml

Building test image

You can build it on your own, note it takes lots of time, be prepared.

git clone <git-repository>
docker image build -t pytorch_lightning:devel-torch1.4 -f dockers/cuda-extras/Dockerfile --build-arg TORCH_VERSION=1.4 .

To build other versions, select different Dockerfile.

docker image list
docker run --rm -it pytorch_lightning:devel-torch1.4 bash
docker image rm pytorch_lightning:devel-torch1.4