lightning/tests
Stanislav 73cf47112e Gradient accumulation callback (#150)
* Gradient accumulation callback

* little test case

* typo

* import fix

* method name fix

* fix epochs indexing from 1

* better code style

* code style fix v2 :/

* change interface

* fix Trainre new api in tests

* trainer api bug fix

* new raising error, new update method

* extentions tests

* a little better tests

* typo fix

* flack8 better

* using scheduler for int and dict

* typo

* firs epoch bug fix

* test update

* empty dict exception

* floats check

* codestyle fix

* grad counting test

* someday, i will install normal linter

* add more checks

* Update test_models.py

* Update test_models.py

* Update test_models.py

* Update test_models.py

* Update test_models.py

* Update test_models.py

* Update test_models.py
2019-08-30 10:56:14 -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 cleaned up progbar (#165) 2019-08-23 21:23:27 -04:00
requirements.txt add CircleCI 2019-08-06 22:45:46 +02:00
test_models.py Gradient accumulation callback (#150) 2019-08-30 10:56:14 -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