From ffabed1ee6a1f1633459c55e2e7d7f1fc0d33d26 Mon Sep 17 00:00:00 2001 From: Thomas J Fan Date: Thu, 20 Feb 2020 20:15:35 -0500 Subject: [PATCH 1/4] TST Sets random state in test_csr_row_norms --- sklearn/utils/tests/test_sparsefuncs.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sklearn/utils/tests/test_sparsefuncs.py b/sklearn/utils/tests/test_sparsefuncs.py index 2891079bc3e32..080a257be0078 100644 --- a/sklearn/utils/tests/test_sparsefuncs.py +++ b/sklearn/utils/tests/test_sparsefuncs.py @@ -549,9 +549,10 @@ def test_inplace_normalize(): @pytest.mark.parametrize("dtype", [np.float32, np.float64]) def test_csr_row_norms(dtype): + rng = np.random.RandomState(42) # checks that csr_row_norms returns the same output as # scipy.sparse.linalg.norm, and that the dype is the same as X.dtype. - X = sp.random(100, 10, format='csr', dtype=dtype) + X = sp.random(100, 10, format='csr', dtype=dtype, random_state=rng) scipy_norms = sp.linalg.norm(X, axis=1)**2 norms = csr_row_norms(X) From 0c4d4788715ba98ee6617ab7352e20ebd6590f9b Mon Sep 17 00:00:00 2001 From: Thomas J Fan Date: Fri, 21 Feb 2020 09:14:28 -0500 Subject: [PATCH 2/4] CLN Adjusts rtol based on dtype --- sklearn/utils/tests/test_sparsefuncs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sklearn/utils/tests/test_sparsefuncs.py b/sklearn/utils/tests/test_sparsefuncs.py index 080a257be0078..59c269199ca09 100644 --- a/sklearn/utils/tests/test_sparsefuncs.py +++ b/sklearn/utils/tests/test_sparsefuncs.py @@ -557,5 +557,5 @@ def test_csr_row_norms(dtype): scipy_norms = sp.linalg.norm(X, axis=1)**2 norms = csr_row_norms(X) - assert norms.dtype == dtype - assert_allclose(norms, scipy_norms) + rtol = 1e-6 if dtype == np.float32 else 1e-7 + assert_allclose(norms, scipy_norms, rtol=rtol) From c806e413e7f23abb07389cc8b6ca192505ae713c Mon Sep 17 00:00:00 2001 From: Thomas J Fan Date: Fri, 21 Feb 2020 09:15:08 -0500 Subject: [PATCH 3/4] ENH Adjust --- sklearn/utils/tests/test_sparsefuncs.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sklearn/utils/tests/test_sparsefuncs.py b/sklearn/utils/tests/test_sparsefuncs.py index 59c269199ca09..daf325065c6b9 100644 --- a/sklearn/utils/tests/test_sparsefuncs.py +++ b/sklearn/utils/tests/test_sparsefuncs.py @@ -549,10 +549,9 @@ def test_inplace_normalize(): @pytest.mark.parametrize("dtype", [np.float32, np.float64]) def test_csr_row_norms(dtype): - rng = np.random.RandomState(42) # checks that csr_row_norms returns the same output as # scipy.sparse.linalg.norm, and that the dype is the same as X.dtype. - X = sp.random(100, 10, format='csr', dtype=dtype, random_state=rng) + X = sp.random(100, 10, format='csr', dtype=dtype, random_state=42) scipy_norms = sp.linalg.norm(X, axis=1)**2 norms = csr_row_norms(X) From 7b5b849b795baea151da0b4152aeb0f36d6bef37 Mon Sep 17 00:00:00 2001 From: Thomas J Fan Date: Fri, 21 Feb 2020 09:45:02 -0500 Subject: [PATCH 4/4] REV --- sklearn/utils/tests/test_sparsefuncs.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sklearn/utils/tests/test_sparsefuncs.py b/sklearn/utils/tests/test_sparsefuncs.py index daf325065c6b9..56e14819a8e26 100644 --- a/sklearn/utils/tests/test_sparsefuncs.py +++ b/sklearn/utils/tests/test_sparsefuncs.py @@ -556,5 +556,6 @@ def test_csr_row_norms(dtype): scipy_norms = sp.linalg.norm(X, axis=1)**2 norms = csr_row_norms(X) + assert norms.dtype == dtype rtol = 1e-6 if dtype == np.float32 else 1e-7 assert_allclose(norms, scipy_norms, rtol=rtol)