![]() * add option to step result to do aggregation on a specific device * in dp: do aggregation on root gpu * Update CHANGELOG.md * pep8 * trailing whitespace * move to root move result stupid result object revert to master undo import add "to" method to result generalize to try a test try a test Revert "try a test" This reverts commit 22e3c1001e6c5774ea18ad925830304c245bf145. Revert "try a test" This reverts commit 4d2d8fb2a52d552894809a0cbe51af126d78f070. new test max epochs super epoch end log in test hanging test undo test initial test that fails on master step end pass step end step end epoch end print step check dev clean up test sanity check wtf is go ing on frustration debugging test test test test test test test test test unused import * move chlog entry * clean * remove outdated changes Co-authored-by: Adrian Wälchli <aedu.waelchli@gmail.com> Co-authored-by: Jirka Borovec <jirka.borovec@seznam.cz> |
||
---|---|---|
.. | ||
backends | ||
base | ||
callbacks | ||
checkpointing | ||
core | ||
loggers | ||
metrics | ||
models | ||
plugins | ||
trainer | ||
tuner | ||
utilities | ||
README.md | ||
__init__.py | ||
collect_env_details.py | ||
conftest.py | ||
test_deprecated.py | ||
test_profiler.py |
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:
- At least 2 GPUs.
- NVIDIA-apex installed.
- 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