From d5c5de5ff5bc47bf8d5488ed01c05dc5a62faa22 Mon Sep 17 00:00:00 2001 From: Philip Hyunsu Cho Date: Fri, 18 Dec 2020 09:16:52 -0800 Subject: [PATCH] Remove cupy.array_equal, since it's not compatible with cuPy 7.8 (#6528) --- python-package/xgboost/sklearn.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/python-package/xgboost/sklearn.py b/python-package/xgboost/sklearn.py index d3b2a1bf85b2..717ab1d3f38d 100644 --- a/python-package/xgboost/sklearn.py +++ b/python-package/xgboost/sklearn.py @@ -841,14 +841,18 @@ def fit(self, X, y, *, sample_weight=None, base_margin=None, self.classes_ = cp.unique(y.values) self.n_classes_ = len(self.classes_) can_use_label_encoder = False - if not cp.array_equal(self.classes_, cp.arange(self.n_classes_)): + expected_classes = cp.arange(self.n_classes_) + if (self.classes_.shape != expected_classes.shape or + not (self.classes_ == expected_classes).all()): raise ValueError(label_encoding_check_error) elif _is_cupy_array(y): import cupy as cp # pylint: disable=E0401 self.classes_ = cp.unique(y) self.n_classes_ = len(self.classes_) can_use_label_encoder = False - if not cp.array_equal(self.classes_, cp.arange(self.n_classes_)): + expected_classes = cp.arange(self.n_classes_) + if (self.classes_.shape != expected_classes.shape or + not (self.classes_ == expected_classes).all()): raise ValueError(label_encoding_check_error) else: self.classes_ = np.unique(y)