From adc3a0a0d21b63899552991f75f4a21d73a60a2f Mon Sep 17 00:00:00 2001 From: Jeremy Howard Date: Sat, 25 May 2024 15:08:12 +1000 Subject: [PATCH 1/2] Fixes #29107 Avoids incorrect `ValueError: Unsupported device for NumPy: device(type='cpu')` by using `type` attr if available. --- sklearn/utils/_array_api.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sklearn/utils/_array_api.py b/sklearn/utils/_array_api.py index 8374dc35ff4f0..dda8ebebfe0ff 100644 --- a/sklearn/utils/_array_api.py +++ b/sklearn/utils/_array_api.py @@ -304,6 +304,7 @@ def isdtype(self, dtype, kind): def _check_device_cpu(device): # noqa + device = getattr(device, 'type', device) if device not in {"cpu", None}: raise ValueError(f"Unsupported device for NumPy: {device!r}") From f9aea8701d34fedb049dc03fbbb7ad3694a5576a Mon Sep 17 00:00:00 2001 From: Jeremy Howard Date: Sat, 25 May 2024 15:16:15 +1000 Subject: [PATCH 2/2] Update for linter --- sklearn/utils/_array_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sklearn/utils/_array_api.py b/sklearn/utils/_array_api.py index dda8ebebfe0ff..8d1ef05d9ee65 100644 --- a/sklearn/utils/_array_api.py +++ b/sklearn/utils/_array_api.py @@ -304,7 +304,7 @@ def isdtype(self, dtype, kind): def _check_device_cpu(device): # noqa - device = getattr(device, 'type', device) + device = getattr(device, "type", device) if device not in {"cpu", None}: raise ValueError(f"Unsupported device for NumPy: {device!r}")