scikit-learn-intelex 2025.4.0__py39-none-win_amd64.whl → 2025.5.0__py39-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of scikit-learn-intelex might be problematic. Click here for more details.

Files changed (269) hide show
  1. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
  2. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +1 -1
  4. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
  5. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +855 -0
  6. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
  7. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py → scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +99 -91
  8. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp39-win_amd64.pyd +0 -0
  9. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +6 -2
  10. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
  11. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
  12. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +6 -38
  13. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +12 -8
  14. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
  15. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
  16. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +41 -153
  17. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
  18. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +7 -10
  19. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +22 -57
  20. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +3 -4
  21. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +8 -3
  22. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +30 -7
  23. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +2 -2
  24. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +6 -16
  25. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +4 -7
  26. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +3 -5
  27. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +4 -2
  28. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +8 -3
  29. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +82 -5
  30. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
  31. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
  32. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_device_offload.py +79 -83
  33. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
  34. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
  35. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +21 -17
  36. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +44 -39
  37. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
  38. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
  39. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +57 -24
  40. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
  41. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
  42. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +27 -12
  43. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
  44. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +35 -32
  45. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +6 -10
  46. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +179 -78
  47. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -25
  48. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
  49. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +2 -2
  50. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
  51. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +76 -57
  52. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +63 -37
  53. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +96 -68
  54. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
  55. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +5 -3
  56. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +21 -18
  57. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +4 -4
  58. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
  59. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +10 -9
  60. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +10 -10
  61. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +8 -8
  62. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +5 -5
  63. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +10 -10
  64. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +1 -13
  65. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -1
  66. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +16 -1
  67. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +147 -0
  68. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +3 -3
  69. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
  70. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
  71. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  72. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
  73. scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +143 -0
  74. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_utils.py +28 -2
  75. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +13 -20
  76. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +34 -40
  77. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +6 -8
  78. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +2 -6
  79. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +42 -60
  80. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +7 -17
  81. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
  82. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
  83. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +106 -362
  84. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  85. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
  86. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +6 -6
  87. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +41 -126
  88. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +42 -85
  89. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +48 -39
  90. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +34 -71
  91. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +14 -18
  92. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +60 -1
  93. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +2 -2
  94. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +2 -3
  95. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
  96. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
  97. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +1 -3
  98. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
  99. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +3 -3
  100. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +31 -73
  101. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +30 -70
  102. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +5 -13
  103. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -13
  104. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +48 -62
  105. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +10 -3
  106. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +8 -4
  107. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +13 -2
  108. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +10 -3
  109. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
  110. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +13 -2
  111. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +9 -2
  112. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +7 -2
  113. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +25 -8
  114. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +6 -2
  115. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -3
  116. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +12 -5
  117. {scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb → scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors}/__init__.py +2 -2
  118. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +27 -5
  119. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +12 -25
  120. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +35 -128
  121. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +9 -21
  122. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +33 -126
  123. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +9 -21
  124. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +26 -11
  125. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +16 -23
  126. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -4
  127. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +2 -2
  128. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
  129. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/METADATA +2 -2
  130. scikit_learn_intelex-2025.5.0.dist-info/RECORD +257 -0
  131. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
  132. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
  133. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
  134. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
  135. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
  136. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
  138. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
  139. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
  140. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  141. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
  142. scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
  143. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  144. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  145. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  146. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  147. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  148. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  150. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  151. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  152. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  153. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  154. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  155. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  156. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  157. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  158. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  159. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  160. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  161. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  162. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  163. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  164. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  165. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  166. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  167. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  168. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  169. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  170. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  171. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  172. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  174. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  175. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
  176. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  177. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  178. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  180. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  181. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  182. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  183. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  184. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  185. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  186. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  187. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
  188. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  189. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  190. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  191. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  192. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  193. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  194. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  195. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
  196. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  197. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  198. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  199. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  200. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  201. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  202. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  203. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  204. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  206. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  207. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  208. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  209. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  210. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  211. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  213. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  214. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  215. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  217. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  218. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  219. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  220. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  221. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  222. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  223. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  224. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  225. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  227. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  229. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  231. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  232. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  233. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  234. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  235. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  236. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  237. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  238. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  240. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  241. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  242. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  243. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  244. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  245. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  246. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  247. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  248. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  249. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  250. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  251. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  252. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  253. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  255. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
  256. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
  257. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  258. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  259. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -0
  260. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
  261. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  262. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  263. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  264. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  265. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  266. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  267. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/LICENSE.txt +0 -0
  268. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/WHEEL +0 -0
  269. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/top_level.txt +0 -0
@@ -14,10 +14,13 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
+ from functools import wraps
18
+
17
19
  import numpy as np
18
20
  from sklearn.exceptions import NotFittedError
19
21
  from sklearn.metrics import accuracy_score
20
22
  from sklearn.svm import NuSVC as _sklearn_NuSVC
23
+ from sklearn.utils.metaestimators import available_if
21
24
  from sklearn.utils.validation import (
22
25
  _deprecate_positional_args,
23
26
  check_array,
@@ -26,21 +29,13 @@ from sklearn.utils.validation import (
26
29
 
27
30
  from daal4py.sklearn._n_jobs_support import control_n_jobs
28
31
  from daal4py.sklearn._utils import sklearn_check_version
32
+ from onedal.svm import NuSVC as onedal_NuSVC
29
33
 
30
34
  from .._device_offload import dispatch, wrap_output_data
31
35
  from ..utils._array_api import get_namespace
36
+ from ..utils.validation import validate_data
32
37
  from ._common import BaseSVC
33
38
 
34
- if sklearn_check_version("1.0"):
35
- from sklearn.utils.metaestimators import available_if
36
-
37
- from onedal.svm import NuSVC as onedal_NuSVC
38
-
39
- if sklearn_check_version("1.6"):
40
- from sklearn.utils.validation import validate_data
41
- else:
42
- validate_data = BaseSVC._validate_data
43
-
44
39
 
45
40
  @control_n_jobs(
46
41
  decorated_methods=["fit", "predict", "_predict_proba", "decision_function", "score"]
@@ -145,99 +140,27 @@ class NuSVC(_sklearn_NuSVC, BaseSVC):
145
140
  sample_weight=sample_weight,
146
141
  )
147
142
 
148
- if sklearn_check_version("1.0"):
149
-
150
- @available_if(_sklearn_NuSVC._check_proba)
151
- def predict_proba(self, X):
152
- """
153
- Compute probabilities of possible outcomes for samples in X.
154
-
155
- The model need to have probability information computed at training
156
- time: fit with attribute `probability` set to True.
157
-
158
- Parameters
159
- ----------
160
- X : array-like of shape (n_samples, n_features)
161
- For kernel="precomputed", the expected shape of X is
162
- (n_samples_test, n_samples_train).
163
-
164
- Returns
165
- -------
166
- T : ndarray of shape (n_samples, n_classes)
167
- Returns the probability of the sample for each class in
168
- the model. The columns correspond to the classes in sorted
169
- order, as they appear in the attribute :term:`classes_`.
170
-
171
- Notes
172
- -----
173
- The probability model is created using cross validation, so
174
- the results can be slightly different than those obtained by
175
- predict. Also, it will produce meaningless results on very small
176
- datasets.
177
- """
178
- check_is_fitted(self)
179
- return self._predict_proba(X)
180
-
181
- @available_if(_sklearn_NuSVC._check_proba)
182
- def predict_log_proba(self, X):
183
- """Compute log probabilities of possible outcomes for samples in X.
184
-
185
- The model need to have probability information computed at training
186
- time: fit with attribute `probability` set to True.
187
-
188
- Parameters
189
- ----------
190
- X : array-like of shape (n_samples, n_features) or \
191
- (n_samples_test, n_samples_train)
192
- For kernel="precomputed", the expected shape of X is
193
- (n_samples_test, n_samples_train).
194
-
195
- Returns
196
- -------
197
- T : ndarray of shape (n_samples, n_classes)
198
- Returns the log-probabilities of the sample for each class in
199
- the model. The columns correspond to the classes in sorted
200
- order, as they appear in the attribute :term:`classes_`.
201
-
202
- Notes
203
- -----
204
- The probability model is created using cross validation, so
205
- the results can be slightly different than those obtained by
206
- predict. Also, it will produce meaningless results on very small
207
- datasets.
208
- """
209
- xp, _ = get_namespace(X)
210
-
211
- return xp.log(self.predict_proba(X))
212
-
213
- else:
214
-
215
- @property
216
- def predict_proba(self):
217
- self._check_proba()
218
- check_is_fitted(self)
219
- return self._predict_proba
220
-
221
- def _predict_log_proba(self, X):
222
- xp, _ = get_namespace(X)
223
- return xp.log(self.predict_proba(X))
224
-
225
- predict_proba.__doc__ = _sklearn_NuSVC.predict_proba.__doc__
143
+ @available_if(_sklearn_NuSVC._check_proba)
144
+ @wraps(_sklearn_NuSVC.predict_proba, assigned=["__doc__"])
145
+ def predict_proba(self, X):
146
+ check_is_fitted(self)
147
+ return self._predict_proba(X)
148
+
149
+ @available_if(_sklearn_NuSVC._check_proba)
150
+ @wraps(_sklearn_NuSVC.predict_log_proba, assigned=["__doc__"])
151
+ def predict_log_proba(self, X):
152
+ xp, _ = get_namespace(X)
153
+
154
+ return xp.log(self.predict_proba(X))
226
155
 
227
156
  @wrap_output_data
228
157
  def _predict_proba(self, X):
229
- sklearn_pred_proba = (
230
- _sklearn_NuSVC.predict_proba
231
- if sklearn_check_version("1.0")
232
- else _sklearn_NuSVC._predict_proba
233
- )
234
-
235
158
  return dispatch(
236
159
  self,
237
160
  "predict_proba",
238
161
  {
239
162
  "onedal": self.__class__._onedal_predict_proba,
240
- "sklearn": sklearn_pred_proba,
163
+ "sklearn": _sklearn_NuSVC.predict_proba,
241
164
  },
242
165
  X,
243
166
  )
@@ -306,23 +229,15 @@ class NuSVC(_sklearn_NuSVC, BaseSVC):
306
229
  self._save_attributes()
307
230
 
308
231
  def _onedal_predict(self, X, queue=None):
309
- if sklearn_check_version("1.0"):
310
- validate_data(
311
- self,
312
- X,
313
- dtype=[np.float64, np.float32],
314
- force_all_finite=False,
315
- ensure_2d=False,
316
- accept_sparse="csr",
317
- reset=False,
318
- )
319
- else:
320
- X = check_array(
321
- X,
322
- dtype=[np.float64, np.float32],
323
- force_all_finite=False,
324
- accept_sparse="csr",
325
- )
232
+ validate_data(
233
+ self,
234
+ X,
235
+ dtype=[np.float64, np.float32],
236
+ ensure_all_finite=False,
237
+ ensure_2d=False,
238
+ accept_sparse="csr",
239
+ reset=False,
240
+ )
326
241
 
327
242
  return self._onedal_estimator.predict(X, queue=queue)
328
243
 
@@ -341,22 +256,14 @@ class NuSVC(_sklearn_NuSVC, BaseSVC):
341
256
  return self.clf_prob.predict_proba(X)
342
257
 
343
258
  def _onedal_decision_function(self, X, queue=None):
344
- if sklearn_check_version("1.0"):
345
- validate_data(
346
- self,
347
- X,
348
- dtype=[np.float64, np.float32],
349
- force_all_finite=False,
350
- accept_sparse="csr",
351
- reset=False,
352
- )
353
- else:
354
- X = check_array(
355
- X,
356
- dtype=[np.float64, np.float32],
357
- force_all_finite=False,
358
- accept_sparse="csr",
359
- )
259
+ validate_data(
260
+ self,
261
+ X,
262
+ dtype=[np.float64, np.float32],
263
+ ensure_all_finite=False,
264
+ accept_sparse="csr",
265
+ reset=False,
266
+ )
360
267
 
361
268
  return self._onedal_estimator.decision_function(X, queue=queue)
362
269
 
@@ -27,13 +27,9 @@ from daal4py.sklearn._utils import sklearn_check_version
27
27
  from onedal.svm import NuSVR as onedal_NuSVR
28
28
 
29
29
  from .._device_offload import dispatch, wrap_output_data
30
+ from ..utils.validation import validate_data
30
31
  from ._common import BaseSVR
31
32
 
32
- if sklearn_check_version("1.6"):
33
- from sklearn.utils.validation import validate_data
34
- else:
35
- validate_data = BaseSVR._validate_data
36
-
37
33
 
38
34
  @control_n_jobs(decorated_methods=["fit", "predict", "score"])
39
35
  class NuSVR(_sklearn_NuSVR, BaseSVR):
@@ -147,22 +143,14 @@ class NuSVR(_sklearn_NuSVR, BaseSVR):
147
143
  self._save_attributes()
148
144
 
149
145
  def _onedal_predict(self, X, queue=None):
150
- if sklearn_check_version("1.0"):
151
- X = validate_data(
152
- self,
153
- X,
154
- dtype=[np.float64, np.float32],
155
- force_all_finite=False,
156
- accept_sparse="csr",
157
- reset=False,
158
- )
159
- else:
160
- X = check_array(
161
- X,
162
- dtype=[np.float64, np.float32],
163
- force_all_finite=False,
164
- accept_sparse="csr",
165
- )
146
+ X = validate_data(
147
+ self,
148
+ X,
149
+ dtype=[np.float64, np.float32],
150
+ ensure_all_finite=False,
151
+ accept_sparse="csr",
152
+ reset=False,
153
+ )
166
154
  return self._onedal_estimator.predict(X, queue=queue)
167
155
 
168
156
  fit.__doc__ = _sklearn_NuSVR.fit.__doc__
@@ -14,11 +14,14 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
+ from functools import wraps
18
+
17
19
  import numpy as np
18
20
  from scipy import sparse as sp
19
21
  from sklearn.exceptions import NotFittedError
20
22
  from sklearn.metrics import accuracy_score
21
23
  from sklearn.svm import SVC as _sklearn_SVC
24
+ from sklearn.utils.metaestimators import available_if
22
25
  from sklearn.utils.validation import (
23
26
  _deprecate_positional_args,
24
27
  check_array,
@@ -27,22 +30,14 @@ from sklearn.utils.validation import (
27
30
 
28
31
  from daal4py.sklearn._n_jobs_support import control_n_jobs
29
32
  from daal4py.sklearn._utils import sklearn_check_version
33
+ from onedal.svm import SVC as onedal_SVC
30
34
 
31
35
  from .._device_offload import dispatch, wrap_output_data
32
36
  from .._utils import PatchingConditionsChain
33
37
  from ..utils._array_api import get_namespace
38
+ from ..utils.validation import validate_data
34
39
  from ._common import BaseSVC
35
40
 
36
- if sklearn_check_version("1.0"):
37
- from sklearn.utils.metaestimators import available_if
38
-
39
- from onedal.svm import SVC as onedal_SVC
40
-
41
- if sklearn_check_version("1.6"):
42
- from sklearn.utils.validation import validate_data
43
- else:
44
- validate_data = BaseSVC._validate_data
45
-
46
41
 
47
42
  @control_n_jobs(
48
43
  decorated_methods=["fit", "predict", "_predict_proba", "decision_function", "score"]
@@ -147,99 +142,27 @@ class SVC(_sklearn_SVC, BaseSVC):
147
142
  sample_weight=sample_weight,
148
143
  )
149
144
 
150
- if sklearn_check_version("1.0"):
151
-
152
- @available_if(_sklearn_SVC._check_proba)
153
- def predict_proba(self, X):
154
- """
155
- Compute probabilities of possible outcomes for samples in X.
156
-
157
- The model need to have probability information computed at training
158
- time: fit with attribute `probability` set to True.
159
-
160
- Parameters
161
- ----------
162
- X : array-like of shape (n_samples, n_features)
163
- For kernel="precomputed", the expected shape of X is
164
- (n_samples_test, n_samples_train).
165
-
166
- Returns
167
- -------
168
- T : ndarray of shape (n_samples, n_classes)
169
- Returns the probability of the sample for each class in
170
- the model. The columns correspond to the classes in sorted
171
- order, as they appear in the attribute :term:`classes_`.
172
-
173
- Notes
174
- -----
175
- The probability model is created using cross validation, so
176
- the results can be slightly different than those obtained by
177
- predict. Also, it will produce meaningless results on very small
178
- datasets.
179
- """
180
- check_is_fitted(self)
181
- return self._predict_proba(X)
182
-
183
- @available_if(_sklearn_SVC._check_proba)
184
- def predict_log_proba(self, X):
185
- """Compute log probabilities of possible outcomes for samples in X.
186
-
187
- The model need to have probability information computed at training
188
- time: fit with attribute `probability` set to True.
189
-
190
- Parameters
191
- ----------
192
- X : array-like of shape (n_samples, n_features) or \
193
- (n_samples_test, n_samples_train)
194
- For kernel="precomputed", the expected shape of X is
195
- (n_samples_test, n_samples_train).
196
-
197
- Returns
198
- -------
199
- T : ndarray of shape (n_samples, n_classes)
200
- Returns the log-probabilities of the sample for each class in
201
- the model. The columns correspond to the classes in sorted
202
- order, as they appear in the attribute :term:`classes_`.
203
-
204
- Notes
205
- -----
206
- The probability model is created using cross validation, so
207
- the results can be slightly different than those obtained by
208
- predict. Also, it will produce meaningless results on very small
209
- datasets.
210
- """
211
- xp, _ = get_namespace(X)
212
-
213
- return xp.log(self.predict_proba(X))
214
-
215
- else:
216
-
217
- @property
218
- def predict_proba(self):
219
- self._check_proba()
220
- check_is_fitted(self)
221
- return self._predict_proba
145
+ @available_if(_sklearn_SVC._check_proba)
146
+ @wraps(_sklearn_SVC.predict_proba, assigned=["__doc__"])
147
+ def predict_proba(self, X):
148
+ check_is_fitted(self)
149
+ return self._predict_proba(X)
222
150
 
223
- def _predict_log_proba(self, X):
224
- xp, _ = get_namespace(X)
225
- return xp.log(self.predict_proba(X))
151
+ @available_if(_sklearn_SVC._check_proba)
152
+ @wraps(_sklearn_SVC.predict_log_proba, assigned=["__doc__"])
153
+ def predict_log_proba(self, X):
154
+ xp, _ = get_namespace(X)
226
155
 
227
- predict_proba.__doc__ = _sklearn_SVC.predict_proba.__doc__
156
+ return xp.log(self.predict_proba(X))
228
157
 
229
158
  @wrap_output_data
230
159
  def _predict_proba(self, X):
231
- sklearn_pred_proba = (
232
- _sklearn_SVC.predict_proba
233
- if sklearn_check_version("1.0")
234
- else _sklearn_SVC._predict_proba
235
- )
236
-
237
160
  return dispatch(
238
161
  self,
239
162
  "predict_proba",
240
163
  {
241
164
  "onedal": self.__class__._onedal_predict_proba,
242
- "sklearn": sklearn_pred_proba,
165
+ "sklearn": _sklearn_SVC.predict_proba,
243
166
  },
244
167
  X,
245
168
  )
@@ -336,23 +259,15 @@ class SVC(_sklearn_SVC, BaseSVC):
336
259
  self._save_attributes()
337
260
 
338
261
  def _onedal_predict(self, X, queue=None):
339
- if sklearn_check_version("1.0"):
340
- X = validate_data(
341
- self,
342
- X,
343
- dtype=[np.float64, np.float32],
344
- force_all_finite=False,
345
- ensure_2d=False,
346
- accept_sparse="csr",
347
- reset=False,
348
- )
349
- else:
350
- X = check_array(
351
- X,
352
- dtype=[np.float64, np.float32],
353
- force_all_finite=False,
354
- accept_sparse="csr",
355
- )
262
+ X = validate_data(
263
+ self,
264
+ X,
265
+ dtype=[np.float64, np.float32],
266
+ ensure_all_finite=False,
267
+ ensure_2d=False,
268
+ accept_sparse="csr",
269
+ reset=False,
270
+ )
356
271
  return self._onedal_estimator.predict(X, queue=queue)
357
272
 
358
273
  def _onedal_predict_proba(self, X, queue=None):
@@ -370,22 +285,14 @@ class SVC(_sklearn_SVC, BaseSVC):
370
285
  return self.clf_prob.predict_proba(X)
371
286
 
372
287
  def _onedal_decision_function(self, X, queue=None):
373
- if sklearn_check_version("1.0"):
374
- X = validate_data(
375
- self,
376
- X,
377
- dtype=[np.float64, np.float32],
378
- force_all_finite=False,
379
- accept_sparse="csr",
380
- reset=False,
381
- )
382
- else:
383
- X = check_array(
384
- X,
385
- dtype=[np.float64, np.float32],
386
- force_all_finite=False,
387
- accept_sparse="csr",
388
- )
288
+ X = validate_data(
289
+ self,
290
+ X,
291
+ dtype=[np.float64, np.float32],
292
+ ensure_all_finite=False,
293
+ accept_sparse="csr",
294
+ reset=False,
295
+ )
389
296
  return self._onedal_estimator.decision_function(X, queue=queue)
390
297
 
391
298
  def _onedal_score(self, X, y, sample_weight=None, queue=None):
@@ -23,13 +23,9 @@ from daal4py.sklearn._utils import sklearn_check_version
23
23
  from onedal.svm import SVR as onedal_SVR
24
24
 
25
25
  from .._device_offload import dispatch, wrap_output_data
26
+ from ..utils.validation import validate_data
26
27
  from ._common import BaseSVR
27
28
 
28
- if sklearn_check_version("1.6"):
29
- from sklearn.utils.validation import validate_data
30
- else:
31
- validate_data = BaseSVR._validate_data
32
-
33
29
 
34
30
  @control_n_jobs(decorated_methods=["fit", "predict", "score"])
35
31
  class SVR(_sklearn_SVR, BaseSVR):
@@ -144,22 +140,14 @@ class SVR(_sklearn_SVR, BaseSVR):
144
140
  self._save_attributes()
145
141
 
146
142
  def _onedal_predict(self, X, queue=None):
147
- if sklearn_check_version("1.0"):
148
- X = validate_data(
149
- self,
150
- X,
151
- dtype=[np.float64, np.float32],
152
- force_all_finite=False,
153
- accept_sparse="csr",
154
- reset=False,
155
- )
156
- else:
157
- X = check_array(
158
- X,
159
- dtype=[np.float64, np.float32],
160
- force_all_finite=False,
161
- accept_sparse="csr",
162
- )
143
+ X = validate_data(
144
+ self,
145
+ X,
146
+ dtype=[np.float64, np.float32],
147
+ ensure_all_finite=False,
148
+ accept_sparse="csr",
149
+ reset=False,
150
+ )
163
151
  return self._onedal_estimator.predict(X, queue=queue)
164
152
 
165
153
  fit.__doc__ = _sklearn_SVR.fit.__doc__
@@ -406,22 +406,36 @@ def estimator_trace(estimator, method, cache, isolated_trace):
406
406
 
407
407
 
408
408
  def call_validate_data(text, estimator, method):
409
- """test that the sklearn function/attribute validate_data is
409
+ """test that both sklearnex wrapper for validate_data and
410
+ original sklearn function/method validate_data are
410
411
  called once before offloading to oneDAL in sklearnex"""
411
412
  try:
412
413
  # get last to_table call showing end of oneDAL input portion of code
413
414
  idx = len(text["funcs"]) - 1 - text["funcs"][::-1].index("to_table")
414
- validfuncs = text["funcs"][:idx]
415
+ valid_funcs = text["funcs"][:idx]
416
+ valid_modules = text["modules"][:idx]
415
417
  except ValueError:
416
418
  pytest.skip("onedal backend not used in this function")
417
419
 
418
- validate_data = "validate_data" if sklearn_check_version("1.6") else "_validate_data"
420
+ validate_data_calls = []
421
+ for func, module in zip(valid_funcs, valid_modules):
422
+ if func.endswith("validate_data"):
423
+ validate_data_calls.append({module, func})
419
424
 
420
425
  assert (
421
- validfuncs.count(validate_data) == 1
422
- ), f"sklearn's {validate_data} should be called"
426
+ len(validate_data_calls) == 2
427
+ ), "validate_data should be called two times: once for sklearn and once for sklearnex"
428
+ assert validate_data_calls[0] == {
429
+ "sklearnex.utils.validation",
430
+ "validate_data",
431
+ }, "sklearnex's validate_data should be called first"
432
+ assert (
433
+ (validate_data_calls[1] == {"sklearn.utils.validation", "validate_data"})
434
+ if sklearn_check_version("1.6")
435
+ else (validate_data_calls[1] == {"sklearn.base", "_validate_data"})
436
+ ), "sklearn's validate_data should be called second"
423
437
  assert (
424
- validfuncs.count("_check_feature_names") == 1
438
+ valid_funcs.count("_check_feature_names") == 1
425
439
  ), "estimator should check feature names in validate_data"
426
440
 
427
441
 
@@ -467,11 +481,12 @@ def fit_check_before_support_check(text, estimator, method):
467
481
  pytest.skip(f"fitting occurs in {estimator}.{method}")
468
482
 
469
483
 
470
- DESIGN_RULES = [n_jobs_check, runtime_property_check, fit_check_before_support_check]
471
-
472
-
473
- if sklearn_check_version("1.0"):
474
- DESIGN_RULES += [call_validate_data]
484
+ DESIGN_RULES = [
485
+ n_jobs_check,
486
+ runtime_property_check,
487
+ fit_check_before_support_check,
488
+ call_validate_data,
489
+ ]
475
490
 
476
491
 
477
492
  @pytest.mark.parametrize("design_pattern", DESIGN_RULES)
@@ -18,7 +18,6 @@ import gc
18
18
  import logging
19
19
  import os
20
20
  import tracemalloc
21
- import types
22
21
  import warnings
23
22
  from inspect import isclass
24
23
 
@@ -29,12 +28,13 @@ from sklearn.base import BaseEstimator, clone
29
28
  from sklearn.datasets import make_classification
30
29
  from sklearn.model_selection import KFold
31
30
 
32
- from onedal import _is_dpc_backend
31
+ from onedal import _default_backend as backend
33
32
  from onedal.tests.utils._dataframes_support import (
34
33
  _convert_to_dataframe,
35
34
  get_dataframes_and_queues,
36
35
  )
37
36
  from onedal.tests.utils._device_selection import get_queues, is_dpctl_device_available
37
+ from onedal.utils._array_api import _get_sycl_namespace
38
38
  from onedal.utils._dpep_helpers import dpctl_available, dpnp_available
39
39
  from sklearnex import config_context
40
40
  from sklearnex.tests.utils import (
@@ -43,7 +43,6 @@ from sklearnex.tests.utils import (
43
43
  SPECIAL_INSTANCES,
44
44
  DummyEstimator,
45
45
  )
46
- from sklearnex.utils._array_api import get_namespace
47
46
 
48
47
  if dpctl_available:
49
48
  from dpctl.tensor import usm_ndarray
@@ -51,9 +50,6 @@ if dpctl_available:
51
50
  if dpnp_available:
52
51
  import dpnp
53
52
 
54
- if _is_dpc_backend:
55
- from onedal import _backend
56
-
57
53
 
58
54
  CPU_SKIP_LIST = (
59
55
  "TSNE", # too slow for using in testing on common data size
@@ -149,25 +145,22 @@ def gen_clsf_data(n_samples, n_features, dtype=None):
149
145
 
150
146
 
151
147
  def get_traced_memory(queue=None):
152
- if _is_dpc_backend and queue and queue.sycl_device.is_gpu:
153
- return _backend.get_used_memory(queue)
148
+ if backend.is_dpc and queue and queue.sycl_device.is_gpu:
149
+ return backend.get_used_memory(queue)
154
150
  else:
155
151
  return tracemalloc.get_traced_memory()[0]
156
152
 
157
153
 
158
154
  def take(x, index, axis=0, queue=None):
159
- xp, array_api = get_namespace(x)
160
- if (
161
- dpnp_available
162
- and isinstance(x, dpnp.ndarray)
163
- or dpctl_available
164
- and isinstance(x, usm_ndarray)
165
- ):
155
+ sycl_usm, xp, _ = _get_sycl_namespace(x)
156
+ if sycl_usm:
166
157
  # Using the same sycl queue for dpnp.ndarray or usm_ndarray.
167
158
  return xp.take(
168
159
  x, xp.asarray(index, usm_type="device", sycl_queue=x.sycl_queue), axis=axis
169
160
  )
170
- elif array_api:
161
+ elif hasattr(x, "__array_namespace__"):
162
+ # check explicitly instead of sklearn's `get_namespace` as array_api is off by default
163
+ xp = x.__array_namespace__()
171
164
  return xp.take(x, xp.asarray(index, device=x.device), axis=axis)
172
165
  else:
173
166
  return x.take(index, axis=axis)
@@ -319,12 +312,8 @@ def test_gpu_memory_leaks(estimator, queue, order, data_shape):
319
312
  _kfold_function_template(GPU_ESTIMATORS[estimator], None, data_shape, queue, func)
320
313
 
321
314
 
322
- @pytest.mark.skipif(
323
- not _is_dpc_backend,
324
- reason="__sycl_usm_array_interface__ support requires DPC backend.",
325
- )
326
315
  @pytest.mark.parametrize(
327
- "dataframe,queue", get_dataframes_and_queues("dpctl,dpnp", "cpu,gpu")
316
+ "dataframe,queue", get_dataframes_and_queues("dpctl,dpnp,array_api", "cpu,gpu")
328
317
  )
329
318
  @pytest.mark.parametrize("order", ["F", "C"])
330
319
  @pytest.mark.parametrize("data_shape", data_shapes)
@@ -332,8 +321,12 @@ def test_gpu_memory_leaks(estimator, queue, order, data_shape):
332
321
  def test_table_conversions_memory_leaks(dataframe, queue, order, data_shape, dtype):
333
322
  func = ORDER_DICT[order]
334
323
 
335
- if queue.sycl_device.is_gpu and (
336
- os.getenv("ZES_ENABLE_SYSMAN") is None or not is_dpctl_device_available("gpu")
324
+ if (
325
+ queue
326
+ and queue.sycl_device.is_gpu
327
+ and (
328
+ os.getenv("ZES_ENABLE_SYSMAN") is None or not is_dpctl_device_available("gpu")
329
+ )
337
330
  ):
338
331
  pytest.skip("SYCL device memory leak check requires the level zero sysman")
339
332