lightning/tests
William Falcon 9576dd28b2
added load on CPU first (#221)
* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added load on CPU first

* added print logs

* added print logs

* changed close order

* changed close order
2019-09-11 07:52:36 -04:00
..
README.md update codecov 2019-08-07 14:32:32 +02:00
__init__.py added init to test folder 2019-07-24 21:32:31 -04:00
debug.py added load on CPU first (#221) 2019-09-11 07:52:36 -04:00
requirements.txt add CircleCI 2019-08-06 22:45:46 +02:00
test_models.py added load on CPU first (#221) 2019-09-11 07:52:36 -04:00

README.md

PyTorch-Lightning Tests

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/williamFalcon/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.

test_models.py

This file fits a tiny model on MNIST using these different set-ups.

  1. CPU only.
  2. Single GPU with DP.
  3. Multiple (2) GPUs using DP.
  4. Multiple (2) GPUs using DDP.
  5. Multiple (2) GPUs using DP + apex (for 16-bit precision).
  6. Multiple (2) GPUs using DDP + apex (for 16-bit precision).

For each set up it also tests:

  1. model saving.
  2. model loading.
  3. predicting with a loaded model.
  4. simulated save from HPC signal.
  5. simulated load from HPC signal.

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