From c7a84c5fb009a0ebc9c9678e88ad12455da8cffd Mon Sep 17 00:00:00 2001 From: Desroziers Date: Wed, 28 Oct 2020 12:37:53 +0100 Subject: [PATCH 1/5] add tolerance for tpu --- .../contrib/metrics/regression/test_canberra_metric.py | 8 ++++---- tests/ignite/contrib/metrics/regression/test_r2_score.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/ignite/contrib/metrics/regression/test_canberra_metric.py b/tests/ignite/contrib/metrics/regression/test_canberra_metric.py index 56c730a964cd..a0ca55ee357e 100644 --- a/tests/ignite/contrib/metrics/regression/test_canberra_metric.py +++ b/tests/ignite/contrib/metrics/regression/test_canberra_metric.py @@ -63,7 +63,7 @@ def test_compute(): assert canberra.pairwise([v1, v2])[0][1] == pytest.approx(np_sum) -def _test_distrib_compute(device): +def _test_distrib_compute(device, tol=1e-4): rank = idist.get_rank() canberra = DistanceMetric.get_metric("canberra") @@ -85,7 +85,7 @@ def _test(metric_device): np_y_pred = y_pred.cpu().numpy() np_y = y.cpu().numpy() res = m.compute() - assert canberra.pairwise([np_y_pred, np_y])[0][1] == pytest.approx(res) + assert canberra.pairwise([np_y_pred, np_y])[0][1] == pytest.approx(res, abs=tol) for _ in range(3): _test("cpu") @@ -141,12 +141,12 @@ def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") def test_distrib_single_device_xla(): device = idist.device() - _test_distrib_compute(device) + _test_distrib_compute(device, tol=1.e-3) def _test_distrib_xla_nprocs(index): device = idist.device() - _test_distrib_compute(device) + _test_distrib_compute(device, tol=1.e-3) @pytest.mark.tpu diff --git a/tests/ignite/contrib/metrics/regression/test_r2_score.py b/tests/ignite/contrib/metrics/regression/test_r2_score.py index 3a6ecebe25ee..e5a832cc6be3 100644 --- a/tests/ignite/contrib/metrics/regression/test_r2_score.py +++ b/tests/ignite/contrib/metrics/regression/test_r2_score.py @@ -91,7 +91,7 @@ def update_fn(engine, batch): assert r2_score(np_y, np_y_pred) == pytest.approx(r_squared) -def _test_distrib_compute(device): +def _test_distrib_compute(device, tol=1e-4): rank = idist.get_rank() def _test(metric_device): @@ -111,7 +111,7 @@ def _test(metric_device): np_y_pred = y_pred.cpu().numpy() np_y = y.cpu().numpy() res = m.compute() - assert r2_score(np_y, np_y_pred) == pytest.approx(res) + assert r2_score(np_y, np_y_pred) == pytest.approx(res, abs=tol) for _ in range(3): _test("cpu") @@ -167,12 +167,12 @@ def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") def test_distrib_single_device_xla(): device = idist.device() - _test_distrib_compute(device) + _test_distrib_compute(device, tol=1.e-3) def _test_distrib_xla_nprocs(index): device = idist.device() - _test_distrib_compute(device) + _test_distrib_compute(device, tol=1.e-3) @pytest.mark.tpu From 533d19baae995610eb8fd10c0265e0dd0016a296 Mon Sep 17 00:00:00 2001 From: sdesrozis Date: Wed, 28 Oct 2020 11:55:39 +0000 Subject: [PATCH 2/5] autopep8 fix --- .../ignite/contrib/metrics/regression/test_canberra_metric.py | 4 ++-- tests/ignite/contrib/metrics/regression/test_r2_score.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/ignite/contrib/metrics/regression/test_canberra_metric.py b/tests/ignite/contrib/metrics/regression/test_canberra_metric.py index a0ca55ee357e..5b2f9c16d567 100644 --- a/tests/ignite/contrib/metrics/regression/test_canberra_metric.py +++ b/tests/ignite/contrib/metrics/regression/test_canberra_metric.py @@ -141,12 +141,12 @@ def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") def test_distrib_single_device_xla(): device = idist.device() - _test_distrib_compute(device, tol=1.e-3) + _test_distrib_compute(device, tol=1.0e-3) def _test_distrib_xla_nprocs(index): device = idist.device() - _test_distrib_compute(device, tol=1.e-3) + _test_distrib_compute(device, tol=1.0e-3) @pytest.mark.tpu diff --git a/tests/ignite/contrib/metrics/regression/test_r2_score.py b/tests/ignite/contrib/metrics/regression/test_r2_score.py index e5a832cc6be3..673c669b5c74 100644 --- a/tests/ignite/contrib/metrics/regression/test_r2_score.py +++ b/tests/ignite/contrib/metrics/regression/test_r2_score.py @@ -167,12 +167,12 @@ def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") def test_distrib_single_device_xla(): device = idist.device() - _test_distrib_compute(device, tol=1.e-3) + _test_distrib_compute(device, tol=1.0e-3) def _test_distrib_xla_nprocs(index): device = idist.device() - _test_distrib_compute(device, tol=1.e-3) + _test_distrib_compute(device, tol=1.0e-3) @pytest.mark.tpu From 734fdf35ba7d62d7096e1b68b6a5b9c1a21e72e5 Mon Sep 17 00:00:00 2001 From: vfdev Date: Fri, 30 Oct 2020 16:09:48 +0100 Subject: [PATCH 3/5] Reverted test_canberra_metric.py as unnecessary --- .../contrib/metrics/regression/test_canberra_metric.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/ignite/contrib/metrics/regression/test_canberra_metric.py b/tests/ignite/contrib/metrics/regression/test_canberra_metric.py index 5b2f9c16d567..56c730a964cd 100644 --- a/tests/ignite/contrib/metrics/regression/test_canberra_metric.py +++ b/tests/ignite/contrib/metrics/regression/test_canberra_metric.py @@ -63,7 +63,7 @@ def test_compute(): assert canberra.pairwise([v1, v2])[0][1] == pytest.approx(np_sum) -def _test_distrib_compute(device, tol=1e-4): +def _test_distrib_compute(device): rank = idist.get_rank() canberra = DistanceMetric.get_metric("canberra") @@ -85,7 +85,7 @@ def _test(metric_device): np_y_pred = y_pred.cpu().numpy() np_y = y.cpu().numpy() res = m.compute() - assert canberra.pairwise([np_y_pred, np_y])[0][1] == pytest.approx(res, abs=tol) + assert canberra.pairwise([np_y_pred, np_y])[0][1] == pytest.approx(res) for _ in range(3): _test("cpu") @@ -141,12 +141,12 @@ def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") def test_distrib_single_device_xla(): device = idist.device() - _test_distrib_compute(device, tol=1.0e-3) + _test_distrib_compute(device) def _test_distrib_xla_nprocs(index): device = idist.device() - _test_distrib_compute(device, tol=1.0e-3) + _test_distrib_compute(device) @pytest.mark.tpu From b828cea3cc770361e846551d9b81284a62acd402 Mon Sep 17 00:00:00 2001 From: vfdev Date: Fri, 30 Oct 2020 16:12:16 +0100 Subject: [PATCH 4/5] Update test_r2_score.py --- tests/ignite/contrib/metrics/regression/test_r2_score.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/ignite/contrib/metrics/regression/test_r2_score.py b/tests/ignite/contrib/metrics/regression/test_r2_score.py index 673c669b5c74..eabc23373c37 100644 --- a/tests/ignite/contrib/metrics/regression/test_r2_score.py +++ b/tests/ignite/contrib/metrics/regression/test_r2_score.py @@ -91,7 +91,7 @@ def update_fn(engine, batch): assert r2_score(np_y, np_y_pred) == pytest.approx(r_squared) -def _test_distrib_compute(device, tol=1e-4): +def _test_distrib_compute(device, tol=1e-8): rank = idist.get_rank() def _test(metric_device): @@ -167,12 +167,12 @@ def test_multinode_distrib_gpu(distributed_context_multi_node_nccl): @pytest.mark.skipif(not idist.has_xla_support, reason="Skip if no PyTorch XLA package") def test_distrib_single_device_xla(): device = idist.device() - _test_distrib_compute(device, tol=1.0e-3) + _test_distrib_compute(device, tol=1e-3) def _test_distrib_xla_nprocs(index): device = idist.device() - _test_distrib_compute(device, tol=1.0e-3) + _test_distrib_compute(device, tol=1e-3) @pytest.mark.tpu From 67c7d393c272e24de2f932ecf366efc71d82d731 Mon Sep 17 00:00:00 2001 From: vfdev Date: Fri, 30 Oct 2020 16:25:47 +0100 Subject: [PATCH 5/5] Update test_r2_score.py --- tests/ignite/contrib/metrics/regression/test_r2_score.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ignite/contrib/metrics/regression/test_r2_score.py b/tests/ignite/contrib/metrics/regression/test_r2_score.py index eabc23373c37..45a19d42c06e 100644 --- a/tests/ignite/contrib/metrics/regression/test_r2_score.py +++ b/tests/ignite/contrib/metrics/regression/test_r2_score.py @@ -91,7 +91,7 @@ def update_fn(engine, batch): assert r2_score(np_y, np_y_pred) == pytest.approx(r_squared) -def _test_distrib_compute(device, tol=1e-8): +def _test_distrib_compute(device, tol=1e-6): rank = idist.get_rank() def _test(metric_device):