scikit-learn-intelex 2025.0.1__py311-none-win_amd64.whl → 2025.2.0__py311-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 (276) hide show
  1. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  2. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
  3. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +21 -15
  4. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +11 -7
  5. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +9 -5
  6. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +35 -16
  7. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +12 -0
  8. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +91 -10
  9. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +4 -1
  10. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +3 -4
  11. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +6 -3
  12. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_config.py +1 -0
  13. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_device_offload.py +15 -40
  14. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  15. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  16. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +5 -5
  17. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +34 -19
  18. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +16 -72
  19. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +100 -17
  20. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
  21. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
  22. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +16 -19
  23. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +7 -10
  24. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
  25. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +22 -13
  26. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +4 -3
  27. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
  28. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
  29. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +41 -26
  30. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +69 -1
  31. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
  32. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +121 -0
  33. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +126 -0
  34. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +475 -0
  35. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +42 -32
  36. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
  37. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +87 -0
  38. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +30 -14
  39. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +86 -52
  40. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +19 -23
  41. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +9 -11
  42. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +72 -27
  43. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +64 -0
  44. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +110 -0
  45. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +55 -70
  46. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +3 -4
  47. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/svm.py +10 -10
  48. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +8 -0
  49. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +25 -9
  50. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +4 -10
  51. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +19 -24
  52. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +12 -22
  53. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +56 -0
  54. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
  55. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/validation.py +52 -20
  56. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__init__.py +1 -0
  57. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_config.py +19 -1
  58. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +17 -12
  59. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_utils.py +45 -11
  60. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +123 -27
  61. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +65 -34
  62. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +190 -36
  63. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +99 -28
  64. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +12 -7
  65. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +56 -42
  66. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +15 -11
  67. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/conftest.py +9 -0
  68. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +32 -13
  69. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +61 -0
  70. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +30 -19
  71. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
  72. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +72 -59
  73. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +40 -20
  74. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +52 -40
  75. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +18 -4
  76. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +114 -75
  77. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +49 -39
  78. {scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -419
  79. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +70 -6
  80. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +61 -0
  81. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +41 -41
  82. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
  83. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
  84. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +16 -11
  85. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +4 -4
  86. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +20 -15
  87. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +18 -14
  88. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +22 -14
  89. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +4 -2
  90. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
  91. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +18 -13
  92. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +1 -1
  93. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +30 -14
  94. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +70 -0
  95. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +4 -4
  96. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +7 -8
  97. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +1 -1
  98. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +4 -3
  99. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +1 -1
  100. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +1 -1
  101. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +1 -1
  102. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +1 -1
  103. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +1 -1
  104. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +17 -15
  105. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +1 -1
  106. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +1 -5
  107. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +1 -1
  108. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +58 -47
  109. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +68 -29
  110. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +40 -18
  111. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +66 -27
  112. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +36 -18
  113. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +491 -0
  114. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +123 -0
  115. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
  116. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +69 -13
  117. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
  118. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +108 -0
  119. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +1 -9
  120. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +43 -13
  121. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
  122. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +117 -9
  123. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
  124. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
  125. scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
  126. {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/METADATA +2 -2
  127. scikit_learn_intelex-2025.2.0.dist-info/RECORD +259 -0
  128. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  129. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  130. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  131. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
  132. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -95
  133. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +0 -235
  134. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
  135. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
  136. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
  137. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
  138. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
  139. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -54
  140. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -43
  141. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -103
  142. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
  143. scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
  144. scikit_learn_intelex-2025.0.1.dist-info/RECORD +0 -255
  145. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  146. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
  147. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
  148. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
  150. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  151. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  152. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
  153. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
  154. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  155. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  156. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
  157. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  158. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
  159. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  160. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  161. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
  162. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
  163. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
  164. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  165. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  166. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  167. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -0
  168. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  169. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  170. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  171. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
  172. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  174. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  175. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  176. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  177. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  178. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
  179. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  180. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  181. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  182. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
  183. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
  184. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
  185. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  186. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  187. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  188. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
  189. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  190. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
  191. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  192. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
  193. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  194. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  196. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  197. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  198. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
  199. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  200. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  201. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
  202. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  204. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  207. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  208. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  209. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  210. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  211. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  212. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  213. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
  214. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
  215. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
  217. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
  218. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
  219. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
  220. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
  221. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
  222. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  223. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  224. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  225. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  227. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  228. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
  229. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
  231. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
  232. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  233. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
  234. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -0
  235. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  236. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
  237. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  238. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
  239. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
  240. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  241. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  242. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
  243. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  244. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  245. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  247. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  248. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  250. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  251. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  252. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  253. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  254. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  255. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  256. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  257. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  258. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  259. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  260. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  261. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  262. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  263. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  264. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  265. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  266. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
  267. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
  268. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  269. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  270. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  271. /scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py → /scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  272. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  273. {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  274. {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/LICENSE.txt +0 -0
  275. {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/WHEEL +0 -0
  276. {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/top_level.txt +0 -0
@@ -20,8 +20,10 @@ from numbers import Integral
20
20
  import numpy as np
21
21
 
22
22
  from daal4py import (
23
+ bf_knn_classification_model,
23
24
  bf_knn_classification_prediction,
24
25
  bf_knn_classification_training,
26
+ kdtree_knn_classification_model,
25
27
  kdtree_knn_classification_prediction,
26
28
  kdtree_knn_classification_training,
27
29
  )
@@ -29,7 +31,7 @@ from daal4py import (
29
31
  from ..common._base import BaseEstimator
30
32
  from ..common._estimator_checks import _check_is_fitted, _is_classifier, _is_regressor
31
33
  from ..common._mixin import ClassifierMixin, RegressorMixin
32
- from ..datatypes import _convert_to_supported, from_table, to_table
34
+ from ..datatypes import from_table, to_table
33
35
  from ..utils import (
34
36
  _check_array,
35
37
  _check_classification_targets,
@@ -128,7 +130,7 @@ class NeighborsCommonBase(BaseEstimator, metaclass=ABCMeta):
128
130
  else:
129
131
  p = self.p
130
132
  return {
131
- "fptype": "float" if X.dtype == np.float32 else "double",
133
+ "fptype": X.dtype,
132
134
  "vote_weights": "uniform" if weights == "uniform" else "distance",
133
135
  "method": self._fit_method,
134
136
  "radius": self.radius,
@@ -318,20 +320,21 @@ class NeighborsBase(NeighborsCommonBase, metaclass=ABCMeta):
318
320
  self._fit_method, self.n_samples_fit_, n_features
319
321
  )
320
322
 
321
- gpu_device = queue is not None and queue.sycl_device.is_gpu
322
- if self.effective_metric_ == "euclidean" and not gpu_device:
323
+ if (
324
+ type(self._onedal_model) is kdtree_knn_classification_model
325
+ or type(self._onedal_model) is bf_knn_classification_model
326
+ ):
323
327
  params = super()._get_daal_params(X, n_neighbors=n_neighbors)
324
- else:
325
- params = super()._get_onedal_params(X, n_neighbors=n_neighbors)
326
-
327
- prediction_results = self._onedal_predict(
328
- self._onedal_model, X, params, queue=queue
329
- )
330
-
331
- if self.effective_metric_ == "euclidean" and not gpu_device:
328
+ prediction_results = self._onedal_predict(
329
+ self._onedal_model, X, params, queue=queue
330
+ )
332
331
  distances = prediction_results.distances
333
332
  indices = prediction_results.indices
334
333
  else:
334
+ params = super()._get_onedal_params(X, n_neighbors=n_neighbors)
335
+ prediction_results = self._onedal_predict(
336
+ self._onedal_model, X, params, queue=queue
337
+ )
335
338
  distances = from_table(prediction_results.distances)
336
339
  indices = from_table(prediction_results.indices)
337
340
 
@@ -424,27 +427,22 @@ class KNeighborsClassifier(NeighborsBase, ClassifierMixin):
424
427
  return train_alg(**params).compute(X, y).model
425
428
 
426
429
  policy = self._get_policy(queue, X, y)
427
- X, y = _convert_to_supported(policy, X, y)
428
- params = self._get_onedal_params(X, y)
430
+ X_table, y_table = to_table(X, y, queue=queue)
431
+ params = self._get_onedal_params(X_table, y)
429
432
  train_alg = self._get_backend(
430
- "neighbors", "classification", "train", policy, params, *to_table(X, y)
433
+ "neighbors", "classification", "train", policy, params, X_table, y_table
431
434
  )
432
435
 
433
436
  return train_alg.model
434
437
 
435
438
  def _onedal_predict(self, model, X, params, queue):
436
- gpu_device = queue is not None and queue.sycl_device.is_gpu
437
- if self.effective_metric_ == "euclidean" and not gpu_device:
438
- if self._fit_method == "brute":
439
- predict_alg = bf_knn_classification_prediction
440
-
441
- else:
442
- predict_alg = kdtree_knn_classification_prediction
443
-
444
- return predict_alg(**params).compute(X, model)
439
+ if type(self._onedal_model) is kdtree_knn_classification_model:
440
+ return kdtree_knn_classification_prediction(**params).compute(X, model)
441
+ elif type(self._onedal_model) is bf_knn_classification_model:
442
+ return bf_knn_classification_prediction(**params).compute(X, model)
445
443
 
446
444
  policy = self._get_policy(queue, X)
447
- X = _convert_to_supported(policy, X)
445
+ X = to_table(X, queue=queue)
448
446
  if hasattr(self, "_onedal_model"):
449
447
  model = self._onedal_model
450
448
  else:
@@ -453,9 +451,9 @@ class KNeighborsClassifier(NeighborsBase, ClassifierMixin):
453
451
  )
454
452
  if "responses" not in params["result_option"]:
455
453
  params["result_option"] += "|responses"
456
- params["fptype"] = "float" if X.dtype == np.float32 else "double"
454
+ params["fptype"] = X.dtype
457
455
  result = self._get_backend(
458
- "neighbors", "classification", "infer", policy, params, model, to_table(X)
456
+ "neighbors", "classification", "infer", policy, params, model, X
459
457
  )
460
458
 
461
459
  return result
@@ -486,19 +484,19 @@ class KNeighborsClassifier(NeighborsBase, ClassifierMixin):
486
484
 
487
485
  self._validate_n_classes()
488
486
 
489
- gpu_device = queue is not None and queue.sycl_device.is_gpu
490
- if self.effective_metric_ == "euclidean" and not gpu_device:
487
+ if (
488
+ type(onedal_model) is kdtree_knn_classification_model
489
+ or type(onedal_model) is bf_knn_classification_model
490
+ ):
491
491
  params = self._get_daal_params(X)
492
- else:
493
- params = self._get_onedal_params(X)
494
-
495
- prediction_result = self._onedal_predict(onedal_model, X, params, queue=queue)
496
- if self.effective_metric_ == "euclidean" and not gpu_device:
492
+ prediction_result = self._onedal_predict(onedal_model, X, params, queue=queue)
497
493
  responses = prediction_result.prediction
498
494
  else:
495
+ params = self._get_onedal_params(X)
496
+ prediction_result = self._onedal_predict(onedal_model, X, params, queue=queue)
499
497
  responses = from_table(prediction_result.responses)
500
- result = self.classes_.take(np.asarray(responses.ravel(), dtype=np.intp))
501
498
 
499
+ result = self.classes_.take(np.asarray(responses.ravel(), dtype=np.intp))
502
500
  return result
503
501
 
504
502
  def predict_proba(self, X, queue=None):
@@ -564,10 +562,6 @@ class KNeighborsRegressor(NeighborsBase, RegressorMixin):
564
562
  )
565
563
  self.weights = weights
566
564
 
567
- def _get_onedal_params(self, X, y=None):
568
- params = super()._get_onedal_params(X, y)
569
- return params
570
-
571
565
  def _get_daal_params(self, data):
572
566
  params = super()._get_daal_params(data)
573
567
  params["resultsToCompute"] = "computeIndicesOfNeighbors|computeDistances"
@@ -587,28 +581,24 @@ class KNeighborsRegressor(NeighborsBase, RegressorMixin):
587
581
  return train_alg(**params).compute(X, y).model
588
582
 
589
583
  policy = self._get_policy(queue, X, y)
590
- X, y = _convert_to_supported(policy, X, y)
591
- params = self._get_onedal_params(X, y)
584
+ X_table, y_table = to_table(X, y, queue=queue)
585
+ params = self._get_onedal_params(X_table, y)
592
586
  train_alg_regr = self._get_backend("neighbors", "regression", None)
593
587
  train_alg_srch = self._get_backend("neighbors", "search", None)
594
588
 
595
589
  if gpu_device:
596
- return train_alg_regr.train(policy, params, *to_table(X, y)).model
597
- return train_alg_srch.train(policy, params, to_table(X)).model
590
+ return train_alg_regr.train(policy, params, X_table, y_table).model
591
+ return train_alg_srch.train(policy, params, X_table).model
598
592
 
599
593
  def _onedal_predict(self, model, X, params, queue):
600
- gpu_device = queue is not None and queue.sycl_device.is_gpu
601
- if self.effective_metric_ == "euclidean" and not gpu_device:
602
- if self._fit_method == "brute":
603
- predict_alg = bf_knn_classification_prediction
604
-
605
- else:
606
- predict_alg = kdtree_knn_classification_prediction
607
-
608
- return predict_alg(**params).compute(X, model)
594
+ if type(model) is kdtree_knn_classification_model:
595
+ return kdtree_knn_classification_prediction(**params).compute(X, model)
596
+ elif type(model) is bf_knn_classification_model:
597
+ return bf_knn_classification_prediction(**params).compute(X, model)
609
598
 
599
+ gpu_device = queue is not None and queue.sycl_device.is_gpu
610
600
  policy = self._get_policy(queue, X)
611
- X = _convert_to_supported(policy, X)
601
+ X = to_table(X, queue=queue)
612
602
  backend = (
613
603
  self._get_backend("neighbors", "regression", None)
614
604
  if gpu_device
@@ -621,8 +611,8 @@ class KNeighborsRegressor(NeighborsBase, RegressorMixin):
621
611
  model = self._create_model(backend)
622
612
  if "responses" not in params["result_option"] and gpu_device:
623
613
  params["result_option"] += "|responses"
624
- params["fptype"] = "float" if X.dtype == np.float32 else "double"
625
- result = backend.infer(policy, params, model, to_table(X))
614
+ params["fptype"] = X.dtype
615
+ result = backend.infer(policy, params, model, X)
626
616
 
627
617
  return result
628
618
 
@@ -738,35 +728,30 @@ class NearestNeighbors(NeighborsBase):
738
728
  return train_alg(**params).compute(X, y).model
739
729
 
740
730
  policy = self._get_policy(queue, X, y)
741
- X, y = _convert_to_supported(policy, X, y)
742
- params = self._get_onedal_params(X, y)
731
+ X_table = to_table(X, queue=queue)
732
+ params = self._get_onedal_params(X_table, y)
743
733
  train_alg = self._get_backend(
744
- "neighbors", "search", "train", policy, params, to_table(X)
734
+ "neighbors", "search", "train", policy, params, X_table
745
735
  )
746
736
 
747
737
  return train_alg.model
748
738
 
749
739
  def _onedal_predict(self, model, X, params, queue):
750
- gpu_device = queue is not None and queue.sycl_device.is_gpu
751
- if self.effective_metric_ == "euclidean" and not gpu_device:
752
- if self._fit_method == "brute":
753
- predict_alg = bf_knn_classification_prediction
754
-
755
- else:
756
- predict_alg = kdtree_knn_classification_prediction
757
-
758
- return predict_alg(**params).compute(X, model)
740
+ if type(self._onedal_model) is kdtree_knn_classification_model:
741
+ return kdtree_knn_classification_prediction(**params).compute(X, model)
742
+ elif type(self._onedal_model) is bf_knn_classification_model:
743
+ return bf_knn_classification_prediction(**params).compute(X, model)
759
744
 
760
745
  policy = self._get_policy(queue, X)
761
- X = _convert_to_supported(policy, X)
746
+ X = to_table(X, queue=queue)
762
747
  if hasattr(self, "_onedal_model"):
763
748
  model = self._onedal_model
764
749
  else:
765
750
  model = self._create_model(self._get_backend("neighbors", "search", None))
766
751
 
767
- params["fptype"] = "float" if X.dtype == np.float32 else "double"
752
+ params["fptype"] = X.dtype
768
753
  result = self._get_backend(
769
- "neighbors", "search", "infer", policy, params, model, to_table(X)
754
+ "neighbors", "search", "infer", policy, params, model, X
770
755
  )
771
756
 
772
757
  return result
@@ -19,7 +19,7 @@ import numpy as np
19
19
  from onedal import _backend
20
20
 
21
21
  from ..common._policy import _get_policy
22
- from ..datatypes import _convert_to_supported, from_table, to_table
22
+ from ..datatypes import from_table, to_table
23
23
  from ..utils import _check_array
24
24
 
25
25
 
@@ -34,9 +34,8 @@ def _check_inputs(X, Y):
34
34
 
35
35
  def _compute_kernel(params, submodule, X, Y, queue):
36
36
  policy = _get_policy(queue, X, Y)
37
- X, Y = _convert_to_supported(policy, X, Y)
38
- params["fptype"] = "float" if X.dtype == np.float32 else "double"
39
- X, Y = to_table(X, Y)
37
+ X, Y = to_table(X, Y, queue=queue)
38
+ params["fptype"] = X.dtype
40
39
  result = submodule.compute(policy, params, X, Y)
41
40
  return from_table(result.values)
42
41
 
@@ -25,7 +25,7 @@ from onedal import _backend
25
25
  from ..common._estimator_checks import _check_is_fitted
26
26
  from ..common._mixin import ClassifierMixin, RegressorMixin
27
27
  from ..common._policy import _get_policy
28
- from ..datatypes import _convert_to_supported, from_table, to_table
28
+ from ..datatypes import from_table, to_table
29
29
  from ..utils import (
30
30
  _check_array,
31
31
  _check_n_features,
@@ -96,7 +96,7 @@ class BaseSVM(metaclass=ABCMeta):
96
96
  self.n_iter_ = 1 if max_iter < 1 else max_iter
97
97
  class_count = 0 if self.classes_ is None else len(self.classes_)
98
98
  return {
99
- "fptype": "float" if data.dtype == np.float32 else "double",
99
+ "fptype": data.dtype,
100
100
  "method": self.algorithm,
101
101
  "kernel": self.kernel,
102
102
  "c": self.C,
@@ -174,9 +174,9 @@ class BaseSVM(metaclass=ABCMeta):
174
174
  self._scale_, self._sigma_ = _gamma, np.sqrt(0.5 / _gamma)
175
175
 
176
176
  policy = _get_policy(queue, *data)
177
- X = _convert_to_supported(policy, X)
178
- params = self._get_onedal_params(X)
179
- result = module.train(policy, params, *to_table(*data))
177
+ data = to_table(*data, queue=queue)
178
+ params = self._get_onedal_params(data[0])
179
+ result = module.train(policy, params, *data)
180
180
 
181
181
  if self._sparse:
182
182
  self.dual_coef_ = sp.csr_matrix(from_table(result.coeffs).T)
@@ -253,14 +253,14 @@ class BaseSVM(metaclass=ABCMeta):
253
253
  )
254
254
 
255
255
  policy = _get_policy(queue, X)
256
- X = _convert_to_supported(policy, X)
256
+ X = to_table(X, queue=queue)
257
257
  params = self._get_onedal_params(X)
258
258
 
259
259
  if hasattr(self, "_onedal_model"):
260
260
  model = self._onedal_model
261
261
  else:
262
262
  model = self._create_model(module)
263
- result = module.infer(policy, params, model, to_table(X))
263
+ result = module.infer(policy, params, model, X)
264
264
  y = from_table(result.responses)
265
265
  return y
266
266
 
@@ -286,7 +286,7 @@ class BaseSVM(metaclass=ABCMeta):
286
286
  def _decision_function(self, X, module, queue):
287
287
  _check_is_fitted(self)
288
288
  X = _check_array(
289
- X, dtype=[np.float64, np.float32], force_all_finite=False, accept_sparse="csr"
289
+ X, dtype=[np.float64, np.float32], force_all_finite=True, accept_sparse="csr"
290
290
  )
291
291
  _check_n_features(self, X, False)
292
292
 
@@ -310,14 +310,14 @@ class BaseSVM(metaclass=ABCMeta):
310
310
  )
311
311
 
312
312
  policy = _get_policy(queue, X)
313
- X = _convert_to_supported(policy, X)
313
+ X = to_table(X, queue=queue)
314
314
  params = self._get_onedal_params(X)
315
315
 
316
316
  if hasattr(self, "_onedal_model"):
317
317
  model = self._onedal_model
318
318
  else:
319
319
  model = self._create_model(module)
320
- result = module.infer(policy, params, model, to_table(X))
320
+ result = module.infer(policy, params, model, X)
321
321
  decision_function = from_table(result.decision_function)
322
322
 
323
323
  if len(self.classes_) == 2:
@@ -14,6 +14,14 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
+ from os import environ
18
+
19
+ # sklearn requires manual enabling of Scipy array API support
20
+ # if `array-api-compat` package is present in environment
21
+ # TODO: create generic approach to handle this for all tests
22
+ environ["SCIPY_ARRAY_API"] = "1"
23
+
24
+
17
25
  import numpy as np
18
26
  import pytest
19
27
  import sklearn.utils.estimator_checks
@@ -14,18 +14,17 @@
14
14
  # limitations under the License.
15
15
  # ==============================================================================
16
16
 
17
+ import importlib
17
18
  import os
18
19
  from glob import glob
19
20
 
20
- import pytest
21
21
 
22
-
23
- def test_sklearn_check_version_ban():
24
- """This test blocks the use of sklearn_check_version
25
- in onedal files. The versioning should occur in the
26
- sklearnex package for clarity and maintainability.
22
+ def _check_primitive_usage_ban(primitive_name, package, allowed_locations=None):
23
+ """This test blocks the usage of the primitive in
24
+ in certain files.
27
25
  """
28
- from onedal import __file__ as loc
26
+
27
+ loc = importlib.util.find_spec(package).origin
29
28
 
30
29
  path = loc.replace("__init__.py", "")
31
30
  files = [y for x in os.walk(path) for y in glob(os.path.join(x[0], "*.py"))]
@@ -33,8 +32,25 @@ def test_sklearn_check_version_ban():
33
32
  output = []
34
33
 
35
34
  for f in files:
36
- if open(f, "r").read().find("sklearn_check_version") != -1:
37
- output += [f.replace(path, "onedal" + os.sep)]
35
+ if open(f, "r").read().find(primitive_name) != -1:
36
+ output += [f.replace(path, package + os.sep)]
37
+
38
+ # remove this file from the list
39
+ if allowed_locations:
40
+ for allowed in allowed_locations:
41
+ output = [i for i in output if allowed not in i]
42
+
43
+ return output
44
+
45
+
46
+ def test_sklearn_check_version_ban():
47
+ """This test blocks the use of sklearn_check_version
48
+ in onedal files. The versioning should occur in the
49
+ sklearnex package for clarity and maintainability.
50
+ """
51
+ output = _check_primitive_usage_ban(
52
+ primitive_name="sklearn_check_version", package="onedal"
53
+ )
38
54
 
39
55
  # remove this file from the list
40
56
  output = "\n".join([i for i in output if "test_common.py" not in i])
@@ -19,20 +19,14 @@ import scipy.sparse as sp
19
19
 
20
20
  from sklearnex import get_config
21
21
 
22
- try:
23
- import dpctl.tensor as dpt
22
+ from ...utils._dpep_helpers import dpctl_available, dpnp_available
24
23
 
25
- dpctl_available = True
26
- except ImportError:
27
- dpctl_available = False
24
+ if dpctl_available:
25
+ import dpctl.tensor as dpt
28
26
 
29
- try:
27
+ if dpnp_available:
30
28
  import dpnp
31
29
 
32
- dpnp_available = True
33
- except ImportError:
34
- dpnp_available = False
35
-
36
30
  try:
37
31
  # This should be lazy imported in the
38
32
  # future along with other popular
@@ -18,6 +18,12 @@ import functools
18
18
 
19
19
  import pytest
20
20
 
21
+ from ...utils._dpep_helpers import dpctl_available
22
+
23
+ if dpctl_available:
24
+ import dpctl
25
+ from dpctl.memory import MemoryUSMDevice, MemoryUSMShared
26
+
21
27
 
22
28
  def get_queues(filter_="cpu,gpu"):
23
29
  """Get available dpctl.SycQueues for testing.
@@ -41,52 +47,41 @@ def get_queues(filter_="cpu,gpu"):
41
47
  """
42
48
  queues = [None] if "cpu" in filter_ else []
43
49
 
44
- try:
45
- import dpctl
46
-
50
+ if dpctl_available:
47
51
  if dpctl.has_cpu_devices() and "cpu" in filter_:
48
52
  queues.append(pytest.param(dpctl.SyclQueue("cpu"), id="SyclQueue_CPU"))
49
53
  if dpctl.has_gpu_devices() and "gpu" in filter_:
50
54
  queues.append(pytest.param(dpctl.SyclQueue("gpu"), id="SyclQueue_GPU"))
51
- finally:
52
- return queues
53
55
 
56
+ return queues
54
57
 
55
- def get_memory_usm():
56
- try:
57
- from dpctl.memory import MemoryUSMDevice, MemoryUSMShared
58
58
 
59
+ def get_memory_usm():
60
+ if dpctl_available:
59
61
  return [MemoryUSMDevice, MemoryUSMShared]
60
- except ImportError:
61
- return []
62
-
62
+ return []
63
63
 
64
- def is_dpctl_available(targets=None):
65
- try:
66
- import dpctl
67
64
 
68
- if targets is None:
69
- return True
65
+ def is_dpctl_device_available(targets):
66
+ if dpctl_available:
70
67
  for device in targets:
71
68
  if device == "cpu" and not dpctl.has_cpu_devices():
72
69
  return False
73
70
  if device == "gpu" and not dpctl.has_gpu_devices():
74
71
  return False
75
72
  return True
76
- except ImportError:
77
- return False
73
+ return False
78
74
 
79
75
 
80
76
  def device_type_to_str(queue):
81
77
  if queue is None:
82
78
  return "cpu"
83
79
 
84
- from dpctl import device_type
85
-
86
- if queue.sycl_device.device_type == device_type.cpu:
87
- return "cpu"
88
- if queue.sycl_device.device_type == device_type.gpu:
89
- return "gpu"
80
+ if dpctl_available:
81
+ if queue.sycl_device.is_cpu:
82
+ return "cpu"
83
+ if queue.sycl_device.is_gpu:
84
+ return "gpu"
90
85
  return "unknown"
91
86
 
92
87
 
@@ -18,20 +18,10 @@
18
18
 
19
19
  from collections.abc import Iterable
20
20
 
21
- try:
22
- from dpctl.tensor import usm_ndarray
23
-
24
- dpctl_available = True
25
- except ImportError:
26
- dpctl_available = False
27
-
28
- try:
29
- import dpnp
30
-
31
- dpnp_available = True
32
- except ImportError:
33
- dpnp_available = False
21
+ from ._dpep_helpers import dpctl_available, dpnp_available
34
22
 
23
+ if dpctl_available:
24
+ from dpctl.tensor import usm_ndarray
35
25
 
36
26
  if dpnp_available:
37
27
  import dpnp
@@ -73,19 +63,19 @@ def _get_sycl_namespace(*arrays):
73
63
  """Get namespace of sycl arrays."""
74
64
 
75
65
  # sycl support designed to work regardless of array_api_dispatch sklearn global value
76
- sycl_type = {type(x): x for x in arrays if hasattr(x, "__sycl_usm_array_interface__")}
66
+ sua_iface = {type(x): x for x in arrays if hasattr(x, "__sycl_usm_array_interface__")}
77
67
 
78
- if len(sycl_type) > 1:
79
- raise ValueError(f"Multiple SYCL types for array inputs: {sycl_type}")
68
+ if len(sua_iface) > 1:
69
+ raise ValueError(f"Multiple SYCL types for array inputs: {sua_iface}")
80
70
 
81
- if sycl_type:
82
- (X,) = sycl_type.values()
71
+ if sua_iface:
72
+ (X,) = sua_iface.values()
83
73
 
84
74
  if hasattr(X, "__array_namespace__"):
85
- return sycl_type, X.__array_namespace__(), True
75
+ return sua_iface, X.__array_namespace__(), True
86
76
  elif dpnp_available and isinstance(X, dpnp.ndarray):
87
- return sycl_type, dpnp, False
77
+ return sua_iface, dpnp, False
88
78
  else:
89
- raise ValueError(f"SYCL type not recognized: {sycl_type}")
79
+ raise ValueError(f"SYCL type not recognized: {sua_iface}")
90
80
 
91
- return sycl_type, None, False
81
+ return sua_iface, None, False
@@ -0,0 +1,56 @@
1
+ # ==============================================================================
2
+ # Copyright 2024 Intel Corporation
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ # ==============================================================================
16
+
17
+ """ Utilities for Data Parallel Extensions libs, such as DPNP, DPCtl.
18
+ See `Data Parallel Extensions for Python <https://github.com/IntelPython/DPEP>`__
19
+ """
20
+
21
+ import functools
22
+
23
+ from daal4py.sklearn._utils import _package_check_version
24
+
25
+
26
+ @functools.lru_cache(maxsize=256, typed=False)
27
+ def is_dpctl_available(version=None):
28
+ """Checks availability of DPCtl package"""
29
+ try:
30
+ import dpctl
31
+ import dpctl.tensor as dpt
32
+
33
+ dpctl_available = True
34
+ except ImportError:
35
+ dpctl_available = False
36
+ if dpctl_available and version is not None:
37
+ dpctl_available = _package_check_version(version, dpctl.__version__)
38
+ return dpctl_available
39
+
40
+
41
+ @functools.lru_cache(maxsize=256, typed=False)
42
+ def is_dpnp_available(version=None):
43
+ """Checks availability of DPNP package"""
44
+ try:
45
+ import dpnp
46
+
47
+ dpnp_available = True
48
+ except ImportError:
49
+ dpnp_available = False
50
+ if dpnp_available and version is not None:
51
+ dpnp_available = _package_check_version(version, dpnp.__version__)
52
+ return dpnp_available
53
+
54
+
55
+ dpctl_available = is_dpctl_available()
56
+ dpnp_available = is_dpnp_available()