From dc076ac50d961f8f827f495ef0ca2f0de66c58ab Mon Sep 17 00:00:00 2001 From: Devashish Shankar Date: Sun, 31 May 2020 02:12:36 +0530 Subject: [PATCH] Fix tests --- tests/models/test_horovod.py | 4 ++-- tests/trainer/test_dataloaders.py | 16 +++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/tests/models/test_horovod.py b/tests/models/test_horovod.py index 9dadefd116a48a..4e5fe0ef815529 100644 --- a/tests/models/test_horovod.py +++ b/tests/models/test_horovod.py @@ -64,7 +64,7 @@ def test_horovod_cpu(tmpdir): train_percent_check=0.4, val_percent_check=0.2, distributed_backend='horovod', - deterministic=True + deterministic=True, ) _run_horovod(trainer_options) @@ -80,7 +80,7 @@ def test_horovod_cpu_implicit(tmpdir): max_epochs=1, train_percent_check=0.4, val_percent_check=0.2, - deterministic=True + deterministic=True, ) _run_horovod(trainer_options) diff --git a/tests/trainer/test_dataloaders.py b/tests/trainer/test_dataloaders.py index d4e2058fcd717d..2bfcf8fe713585 100644 --- a/tests/trainer/test_dataloaders.py +++ b/tests/trainer/test_dataloaders.py @@ -12,7 +12,6 @@ def test_fit_train_loader_only(tmpdir): - model = EvalModelTemplate() train_dataloader = model.train_dataloader() @@ -31,7 +30,6 @@ def test_fit_train_loader_only(tmpdir): def test_fit_val_loader_only(tmpdir): - model = EvalModelTemplate() train_dataloader = model.train_dataloader() val_dataloader = model.val_dataloader() @@ -54,7 +52,6 @@ def test_fit_val_loader_only(tmpdir): dict(val_check_interval=10000), ]) def test_dataloader_config_errors(tmpdir, dataloader_options): - model = EvalModelTemplate() # fit model @@ -364,7 +361,6 @@ def test_warning_with_few_workers(tmpdir): @pytest.mark.skipif(torch.cuda.device_count() < 2, reason='Test requires multiple GPUs') def test_dataloader_reinit_for_subclass(): - class CustomDataLoader(torch.utils.data.DataLoader): def __init__(self, dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=None, @@ -393,14 +389,20 @@ class CustomDummyObj: assert isinstance(result, CustomDataLoader) assert hasattr(result, 'dummy_kwarg') + # Shuffled DataLoader should also work + result = trainer.auto_add_sampler(CustomDataLoader(list(range(1000)), shuffle=True), train=True) + assert isinstance(result, torch.utils.data.DataLoader) + assert isinstance(result, CustomDataLoader) + assert hasattr(result, 'dummy_kwarg') + class CustomSampler(torch.utils.data.Sampler): pass # Should raise an error if existing sampler is being replaced with pytest.raises(MisconfigurationException, match='DistributedSampler'): - trainer.auto_add_sampler(CustomDataLoader(list(range(1000)), shuffle=True), train=True) - trainer.auto_add_sampler(CustomDataLoader(list(range(1000)), sampler=CustomSampler()), - train=True) + trainer.auto_add_sampler( + CustomDataLoader(list(range(1000)), sampler=CustomSampler(list(range(1000)))), + train=True) @pytest.mark.skipif(torch.cuda.device_count() < 3, reason='Test requires multiple GPUs')