diff --git a/python/cuml/neighbors/nearest_neighbors.pyx b/python/cuml/neighbors/nearest_neighbors.pyx index 01715d514b..f9fc1527d1 100644 --- a/python/cuml/neighbors/nearest_neighbors.pyx +++ b/python/cuml/neighbors/nearest_neighbors.pyx @@ -276,9 +276,10 @@ class NearestNeighbors(Base, Notes ----- - Warning: IVFPQ might be unstable in this version of cuML. - This is due to a known issue in the FAISS release that this - cuML version is linked to. (see FAISS issue #1421) + Warning: Approximate Nearest Neighbor methods might be unstable + in this version of cuML. This is due to a known issue in + the FAISS release that this cuML version is linked to. + (see cuML issue #4020) For an additional example see `the NearestNeighbors notebook `_. @@ -349,11 +350,11 @@ class NearestNeighbors(Base, cdef handle_t* handle_ = self.handle.getHandle() cdef knnIndexParam* algo_params = 0 if self.algorithm in ['ivfflat', 'ivfpq', 'ivfsq']: - if self.algorithm == 'ivfpq': - warnings.warn("\nWarning: IVFPQ might be unstable in this " - "version of cuML. This is due to a known issue " - "in the FAISS release that this cuML version " - "is linked to. (see FAISS issue #1421)") + warnings.warn("\nWarning: Approximate Nearest Neighbor methods " + "might be unstable in this version of cuML. " + "This is due to a known issue in the FAISS " + "release that this cuML version is linked to. " + "(see cuML issue #4020)") if not is_dense(X): raise ValueError("Approximate Nearest Neigbors methods " diff --git a/python/cuml/test/test_nearest_neighbors.py b/python/cuml/test/test_nearest_neighbors.py index 149e481a29..66c7fb8f53 100644 --- a/python/cuml/test/test_nearest_neighbors.py +++ b/python/cuml/test/test_nearest_neighbors.py @@ -160,12 +160,6 @@ def test_self_neighboring(datatype, metric_p, nrows): ("ivfsq", "numpy")]) def test_neighborhood_predictions(nrows, ncols, n_neighbors, n_clusters, datatype, algo): - if algo == "ivfpq": - pytest.xfail("Warning: IVFPQ might be unstable in this " - "version of cuML. This is due to a known issue " - "in the FAISS release that this cuML version " - "is linked to. (see FAISS issue #1421)") - if not has_scipy(): pytest.skip('Skipping test_neighborhood_predictions because ' + 'Scipy is missing') @@ -222,19 +216,13 @@ def test_ivfflat_pred(nrows, ncols, n_neighbors, nlist): @pytest.mark.parametrize("nlist", [8]) @pytest.mark.parametrize("M", [16, 32]) -@pytest.mark.parametrize("n_bits", [2, 4]) +@pytest.mark.parametrize("n_bits", [4, 6]) @pytest.mark.parametrize("usePrecomputedTables", [False, True]) @pytest.mark.parametrize("nrows", [4000]) @pytest.mark.parametrize("ncols", [128, 512]) @pytest.mark.parametrize("n_neighbors", [8]) def test_ivfpq_pred(nrows, ncols, n_neighbors, nlist, M, n_bits, usePrecomputedTables): - - pytest.xfail("Warning: IVFPQ might be unstable in this " - "version of cuML. This is due to a known issue " - "in the FAISS release that this cuML version " - "is linked to. (see FAISS issue #1421)") - algo_params = { 'nlist': nlist, 'nprobe': int(nlist * 0.2),