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.
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
- {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
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +855 -0
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
- 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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/_device_offload.py +79 -83
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
- {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
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +147 -0
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
- scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +143 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/_utils.py +28 -2
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +6 -8
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +7 -17
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +106 -362
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +3 -3
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +12 -25
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +35 -128
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +9 -21
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +33 -126
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +9 -21
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
- {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/METADATA +2 -2
- scikit_learn_intelex-2025.5.0.dist-info/RECORD +257 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
- scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
- scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {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
- {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.5.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {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
- {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.5.0.dist-info}/top_level.txt +0 -0
|
@@ -18,10 +18,35 @@
|
|
|
18
18
|
|
|
19
19
|
import threading
|
|
20
20
|
|
|
21
|
+
"""
|
|
22
|
+
Default values for global configuration parameters.
|
|
23
|
+
These values are typically managed through the sklearnex.set_config() interface.
|
|
24
|
+
Here we only define the defaults.
|
|
25
|
+
|
|
26
|
+
target_offload:
|
|
27
|
+
The device primarily used to perform computations.
|
|
28
|
+
If string, expected to be "auto" (the execution context
|
|
29
|
+
is deduced from input data location), or SYCL* filter selector string.
|
|
30
|
+
Global default: "auto".
|
|
31
|
+
allow_fallback_to_host:
|
|
32
|
+
If True, allows to fallback computation to host device
|
|
33
|
+
in case particular estimator does not support the selected one.
|
|
34
|
+
Global default: False.
|
|
35
|
+
allow_sklearn_after_onedal:
|
|
36
|
+
If True, allows to fallback computation to sklearn after onedal
|
|
37
|
+
backend in case of runtime error on onedal backend computations.
|
|
38
|
+
Global default: True.
|
|
39
|
+
use_raw_input:
|
|
40
|
+
If True, uses the raw input data in some SPMD onedal backend computations
|
|
41
|
+
without any checks on data consistency or validity.
|
|
42
|
+
Note: This option is not recommended for general use.
|
|
43
|
+
Global default: False.
|
|
44
|
+
"""
|
|
21
45
|
_default_global_config = {
|
|
22
46
|
"target_offload": "auto",
|
|
23
47
|
"allow_fallback_to_host": False,
|
|
24
48
|
"allow_sklearn_after_onedal": True,
|
|
49
|
+
"use_raw_input": False,
|
|
25
50
|
}
|
|
26
51
|
|
|
27
52
|
_threadlocal = threading.local()
|
|
@@ -39,8 +64,8 @@ def _get_config(copy=True):
|
|
|
39
64
|
Parameters
|
|
40
65
|
----------
|
|
41
66
|
copy : bool, default=True
|
|
42
|
-
If False,
|
|
43
|
-
|
|
67
|
+
If False, a mutable view of the configuration is returned. Each thread
|
|
68
|
+
has a separate copy of the configuration.
|
|
44
69
|
Returns
|
|
45
70
|
-------
|
|
46
71
|
config : dict
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
-
import
|
|
17
|
+
import inspect
|
|
18
18
|
from collections.abc import Iterable
|
|
19
19
|
from functools import wraps
|
|
20
20
|
|
|
@@ -22,21 +22,37 @@ import numpy as np
|
|
|
22
22
|
from sklearn import get_config
|
|
23
23
|
|
|
24
24
|
from ._config import _get_config
|
|
25
|
+
from .utils import _sycl_queue_manager as QM
|
|
25
26
|
from .utils._array_api import _asarray, _is_numpy_namespace
|
|
26
27
|
from .utils._dpep_helpers import dpctl_available, dpnp_available
|
|
27
28
|
|
|
28
29
|
if dpctl_available:
|
|
29
|
-
from dpctl import SyclQueue
|
|
30
30
|
from dpctl.memory import MemoryUSMDevice, as_usm_memory
|
|
31
31
|
from dpctl.tensor import usm_ndarray
|
|
32
32
|
else:
|
|
33
|
-
import
|
|
33
|
+
from onedal import _dpc_backend
|
|
34
|
+
|
|
35
|
+
SyclQueue = getattr(_dpc_backend, "SyclQueue", None)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def supports_queue(func):
|
|
39
|
+
"""
|
|
40
|
+
Decorator that updates the global queue based on provided queue and global configuration.
|
|
41
|
+
If a `queue` keyword argument is provided in the decorated function, its value will be used globally.
|
|
42
|
+
If no queue is provided, the global queue will be updated from the provided data.
|
|
43
|
+
In either case, all data objects are verified to be on the same device (or on host).
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
@wraps(func)
|
|
47
|
+
def wrapper(self, *args, **kwargs):
|
|
48
|
+
queue = kwargs.get("queue", None)
|
|
49
|
+
with QM.manage_global_queue(queue, *args) as queue:
|
|
50
|
+
kwargs["queue"] = queue
|
|
51
|
+
result = func(self, *args, **kwargs)
|
|
52
|
+
return result
|
|
53
|
+
|
|
54
|
+
return wrapper
|
|
34
55
|
|
|
35
|
-
# setting fallback to `object` will make if isinstance call
|
|
36
|
-
# in _get_global_queue always true for situations without the
|
|
37
|
-
# dpc backend when `device_offload` is used. Instead, it will
|
|
38
|
-
# fail at the policy check phase yielding a RuntimeError
|
|
39
|
-
SyclQueue = getattr(onedal._backend, "SyclQueue", object)
|
|
40
56
|
|
|
41
57
|
if dpnp_available:
|
|
42
58
|
import dpnp
|
|
@@ -69,7 +85,7 @@ def _copy_to_usm(queue, array):
|
|
|
69
85
|
return array
|
|
70
86
|
|
|
71
87
|
|
|
72
|
-
def _transfer_to_host(
|
|
88
|
+
def _transfer_to_host(*data):
|
|
73
89
|
has_usm_data, has_host_data = False, False
|
|
74
90
|
|
|
75
91
|
host_data = []
|
|
@@ -82,17 +98,10 @@ def _transfer_to_host(queue, *data):
|
|
|
82
98
|
"dpctl need to be installed to work "
|
|
83
99
|
"with __sycl_usm_array_interface__"
|
|
84
100
|
)
|
|
85
|
-
if queue is not None:
|
|
86
|
-
if queue.sycl_device != usm_iface["syclobj"].sycl_device:
|
|
87
|
-
raise RuntimeError(
|
|
88
|
-
"Input data shall be located " "on single target device"
|
|
89
|
-
)
|
|
90
|
-
else:
|
|
91
|
-
queue = usm_iface["syclobj"]
|
|
92
101
|
|
|
93
102
|
buffer = as_usm_memory(item).copy_to_host()
|
|
94
103
|
order = "C"
|
|
95
|
-
if usm_iface["strides"] is not None:
|
|
104
|
+
if usm_iface["strides"] is not None and len(usm_iface["strides"]) > 1:
|
|
96
105
|
if usm_iface["strides"][0] < usm_iface["strides"][1]:
|
|
97
106
|
order = "F"
|
|
98
107
|
item = np.ndarray(
|
|
@@ -117,88 +126,75 @@ def _transfer_to_host(queue, *data):
|
|
|
117
126
|
raise RuntimeError("Input data shall be located on single target device")
|
|
118
127
|
|
|
119
128
|
host_data.append(item)
|
|
120
|
-
return has_usm_data,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
def _get_global_queue():
|
|
124
|
-
target = _get_config()["target_offload"]
|
|
125
|
-
|
|
126
|
-
if target != "auto":
|
|
127
|
-
if isinstance(target, SyclQueue):
|
|
128
|
-
return target
|
|
129
|
-
return SyclQueue(target)
|
|
130
|
-
return None
|
|
129
|
+
return has_usm_data, host_data
|
|
131
130
|
|
|
132
131
|
|
|
133
132
|
def _get_host_inputs(*args, **kwargs):
|
|
134
|
-
|
|
135
|
-
_,
|
|
136
|
-
_, q, hostvalues = _transfer_to_host(q, *kwargs.values())
|
|
133
|
+
_, hostargs = _transfer_to_host(*args)
|
|
134
|
+
_, hostvalues = _transfer_to_host(*kwargs.values())
|
|
137
135
|
hostkwargs = dict(zip(kwargs.keys(), hostvalues))
|
|
138
|
-
return
|
|
139
|
-
|
|
136
|
+
return hostargs, hostkwargs
|
|
140
137
|
|
|
141
|
-
def _run_on_device(func, obj=None, *args, **kwargs):
|
|
142
|
-
if obj is not None:
|
|
143
|
-
return func(obj, *args, **kwargs)
|
|
144
|
-
return func(*args, **kwargs)
|
|
145
138
|
|
|
146
|
-
|
|
147
|
-
def support_input_format(freefunc=False, queue_param=True):
|
|
139
|
+
def support_input_format(func):
|
|
148
140
|
"""
|
|
149
141
|
Converts and moves the output arrays of the decorated function
|
|
150
142
|
to match the input array type and device.
|
|
151
143
|
Puts SYCLQueue from data to decorated function arguments.
|
|
144
|
+
"""
|
|
152
145
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
146
|
+
def invoke_func(self_or_None, *args, **kwargs):
|
|
147
|
+
if self_or_None is None:
|
|
148
|
+
return func(*args, **kwargs)
|
|
149
|
+
else:
|
|
150
|
+
return func(self_or_None, *args, **kwargs)
|
|
151
|
+
|
|
152
|
+
@wraps(func)
|
|
153
|
+
def wrapper_impl(*args, **kwargs):
|
|
154
|
+
# remove self from args if it is a class method
|
|
155
|
+
if inspect.isfunction(func) and "." in func.__qualname__:
|
|
156
|
+
self = args[0]
|
|
157
|
+
args = args[1:]
|
|
158
|
+
else:
|
|
159
|
+
self = None
|
|
157
160
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
161
|
+
# Check if the function is KNeighborsClassifier.fit
|
|
162
|
+
override_raw_input = (
|
|
163
|
+
self
|
|
164
|
+
and self.__class__.__name__ in ("KNeighborsClassifier", "KNeighborsRegressor")
|
|
165
|
+
and func.__name__ == "fit"
|
|
166
|
+
)
|
|
167
|
+
if _get_config()["use_raw_input"] is True and not override_raw_input:
|
|
168
|
+
if "queue" not in kwargs:
|
|
169
|
+
usm_iface = getattr(args[0], "__sycl_usm_array_interface__", None)
|
|
170
|
+
data_queue = usm_iface["syclobj"] if usm_iface is not None else None
|
|
171
|
+
kwargs["queue"] = data_queue
|
|
172
|
+
return invoke_func(self, *args, **kwargs)
|
|
173
|
+
elif len(args) == 0 and len(kwargs) == 0:
|
|
174
|
+
# no arguments, there's nothing we can deduce from them -> just call the function
|
|
175
|
+
return invoke_func(self, *args, **kwargs)
|
|
176
|
+
|
|
177
|
+
data = (*args, *kwargs.values())
|
|
178
|
+
# get and set the global queue from the kwarg or data
|
|
179
|
+
with QM.manage_global_queue(kwargs.get("queue"), *args) as queue:
|
|
180
|
+
hostargs, hostkwargs = _get_host_inputs(*args, **kwargs)
|
|
181
|
+
if "queue" in inspect.signature(func).parameters:
|
|
182
|
+
# set the queue if it's expected by func
|
|
183
|
+
hostkwargs["queue"] = queue
|
|
184
|
+
result = invoke_func(self, *hostargs, **hostkwargs)
|
|
162
185
|
|
|
163
|
-
def decorator(func):
|
|
164
|
-
def wrapper_impl(obj, *args, **kwargs):
|
|
165
|
-
if len(args) == 0 and len(kwargs) == 0:
|
|
166
|
-
return _run_on_device(func, obj, *args, **kwargs)
|
|
167
|
-
data = (*args, *kwargs.values())
|
|
168
|
-
data_queue, hostargs, hostkwargs = _get_host_inputs(*args, **kwargs)
|
|
169
|
-
if queue_param and not (
|
|
170
|
-
"queue" in hostkwargs and hostkwargs["queue"] is not None
|
|
171
|
-
):
|
|
172
|
-
hostkwargs["queue"] = data_queue
|
|
173
|
-
result = _run_on_device(func, obj, *hostargs, **hostkwargs)
|
|
174
186
|
usm_iface = getattr(data[0], "__sycl_usm_array_interface__", None)
|
|
175
|
-
if usm_iface is not None:
|
|
176
|
-
result = _copy_to_usm(
|
|
187
|
+
if queue is not None and usm_iface is not None:
|
|
188
|
+
result = _copy_to_usm(queue, result)
|
|
177
189
|
if dpnp_available and isinstance(data[0], dpnp.ndarray):
|
|
178
190
|
result = _convert_to_dpnp(result)
|
|
179
191
|
return result
|
|
180
|
-
config = get_config()
|
|
181
|
-
if not ("transform_output" in config and config["transform_output"]):
|
|
182
|
-
input_array_api = getattr(data[0], "__array_namespace__", lambda: None)()
|
|
183
|
-
if input_array_api:
|
|
184
|
-
input_array_api_device = data[0].device
|
|
185
|
-
result = _asarray(
|
|
186
|
-
result, input_array_api, device=input_array_api_device
|
|
187
|
-
)
|
|
188
|
-
return result
|
|
189
|
-
|
|
190
|
-
if freefunc:
|
|
191
|
-
|
|
192
|
-
@wraps(func)
|
|
193
|
-
def wrapper_free(*args, **kwargs):
|
|
194
|
-
return wrapper_impl(None, *args, **kwargs)
|
|
195
|
-
|
|
196
|
-
return wrapper_free
|
|
197
|
-
|
|
198
|
-
@wraps(func)
|
|
199
|
-
def wrapper_with_self(self, *args, **kwargs):
|
|
200
|
-
return wrapper_impl(self, *args, **kwargs)
|
|
201
192
|
|
|
202
|
-
|
|
193
|
+
if not get_config().get("transform_output"):
|
|
194
|
+
input_array_api = getattr(data[0], "__array_namespace__", lambda: None)()
|
|
195
|
+
if input_array_api:
|
|
196
|
+
input_array_api_device = data[0].device
|
|
197
|
+
result = _asarray(result, input_array_api, device=input_array_api_device)
|
|
198
|
+
return result
|
|
203
199
|
|
|
204
|
-
return
|
|
200
|
+
return wrapper_impl
|
scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd
ADDED
|
Binary file
|
scikit_learn_intelex-2025.5.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd
ADDED
|
Binary file
|
|
@@ -14,23 +14,27 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
-
import warnings
|
|
18
17
|
from abc import ABCMeta, abstractmethod
|
|
19
18
|
|
|
20
19
|
import numpy as np
|
|
21
20
|
|
|
22
|
-
from
|
|
21
|
+
from onedal._device_offload import supports_queue
|
|
22
|
+
|
|
23
|
+
from .._config import _get_config
|
|
24
|
+
from ..common._backend import bind_default_backend
|
|
23
25
|
from ..datatypes import from_table, to_table
|
|
24
|
-
from ..utils import _is_csr
|
|
25
|
-
from ..utils.validation import _check_array
|
|
26
|
+
from ..utils.validation import _check_array, _is_csr
|
|
26
27
|
|
|
27
28
|
|
|
28
|
-
class BaseBasicStatistics(
|
|
29
|
+
class BaseBasicStatistics(metaclass=ABCMeta):
|
|
29
30
|
@abstractmethod
|
|
30
31
|
def __init__(self, result_options, algorithm):
|
|
31
32
|
self.options = result_options
|
|
32
33
|
self.algorithm = algorithm
|
|
33
34
|
|
|
35
|
+
@bind_default_backend("basic_statistics")
|
|
36
|
+
def compute(self, params, data_table, weights_table): ...
|
|
37
|
+
|
|
34
38
|
@staticmethod
|
|
35
39
|
def get_all_result_options():
|
|
36
40
|
return [
|
|
@@ -71,22 +75,25 @@ class BasicStatistics(BaseBasicStatistics):
|
|
|
71
75
|
def __init__(self, result_options="all", algorithm="by_default"):
|
|
72
76
|
super().__init__(result_options, algorithm)
|
|
73
77
|
|
|
78
|
+
@supports_queue
|
|
74
79
|
def fit(self, data, sample_weight=None, queue=None):
|
|
75
|
-
policy = self._get_policy(queue, data, sample_weight)
|
|
76
|
-
|
|
77
80
|
is_csr = _is_csr(data)
|
|
78
81
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
use_raw_input = _get_config().get("use_raw_input", False) is True
|
|
83
|
+
if not use_raw_input:
|
|
84
|
+
if data is not None and not is_csr:
|
|
85
|
+
data = _check_array(data, ensure_2d=False)
|
|
86
|
+
if sample_weight is not None:
|
|
87
|
+
sample_weight = _check_array(sample_weight, ensure_2d=False)
|
|
83
88
|
|
|
84
89
|
is_single_dim = data.ndim == 1
|
|
85
90
|
|
|
86
91
|
data_table, weights_table = to_table(data, sample_weight, queue=queue)
|
|
87
92
|
|
|
88
93
|
dtype = data_table.dtype
|
|
89
|
-
raw_result = self._compute_raw(
|
|
94
|
+
raw_result = raw_result = self._compute_raw(
|
|
95
|
+
data_table, weights_table, dtype, is_csr
|
|
96
|
+
)
|
|
90
97
|
for opt, raw_value in raw_result.items():
|
|
91
98
|
value = from_table(raw_value).ravel()
|
|
92
99
|
if is_single_dim:
|
|
@@ -96,12 +103,9 @@ class BasicStatistics(BaseBasicStatistics):
|
|
|
96
103
|
|
|
97
104
|
return self
|
|
98
105
|
|
|
99
|
-
def _compute_raw(
|
|
100
|
-
self, data_table, weights_table, policy, dtype=np.float32, is_csr=False
|
|
101
|
-
):
|
|
102
|
-
module = self._get_backend("basic_statistics")
|
|
106
|
+
def _compute_raw(self, data_table, weights_table, dtype=np.float32, is_csr=False):
|
|
103
107
|
params = self._get_onedal_params(is_csr, dtype)
|
|
104
|
-
result =
|
|
108
|
+
result = self.compute(params, data_table, weights_table)
|
|
105
109
|
options = self._get_result_options(self.options).split("|")
|
|
106
110
|
|
|
107
111
|
return {opt: getattr(result, opt) for opt in options}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# ==============================================================================
|
|
2
1
|
# Copyright 2024 Intel Corporation
|
|
3
2
|
#
|
|
4
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -17,9 +16,14 @@
|
|
|
17
16
|
import numpy as np
|
|
18
17
|
|
|
19
18
|
from daal4py.sklearn._utils import get_dtype
|
|
19
|
+
from onedal._device_offload import supports_queue
|
|
20
|
+
from onedal.common._backend import bind_default_backend
|
|
21
|
+
from onedal.utils import _sycl_queue_manager as QM
|
|
20
22
|
|
|
23
|
+
from .._config import _get_config
|
|
21
24
|
from ..datatypes import from_table, to_table
|
|
22
|
-
from ..utils import
|
|
25
|
+
from ..utils._array_api import _get_sycl_namespace
|
|
26
|
+
from ..utils.validation import _check_array
|
|
23
27
|
from .basic_statistics import BaseBasicStatistics
|
|
24
28
|
|
|
25
29
|
|
|
@@ -68,12 +72,22 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
68
72
|
def __init__(self, result_options="all"):
|
|
69
73
|
super().__init__(result_options, algorithm="by_default")
|
|
70
74
|
self._reset()
|
|
75
|
+
self._queue = None
|
|
76
|
+
|
|
77
|
+
@bind_default_backend("basic_statistics")
|
|
78
|
+
def partial_compute_result(self): ...
|
|
79
|
+
|
|
80
|
+
@bind_default_backend("basic_statistics")
|
|
81
|
+
def partial_compute(self, *args, **kwargs): ...
|
|
82
|
+
|
|
83
|
+
@bind_default_backend("basic_statistics")
|
|
84
|
+
def finalize_compute(self, *args, **kwargs): ...
|
|
71
85
|
|
|
72
86
|
def _reset(self):
|
|
73
87
|
self._need_to_finalize = False
|
|
74
|
-
self.
|
|
75
|
-
|
|
76
|
-
)
|
|
88
|
+
self._queue = None
|
|
89
|
+
# get the _partial_result pointer from backend
|
|
90
|
+
self._partial_result = self.partial_compute_result()
|
|
77
91
|
|
|
78
92
|
def __getstate__(self):
|
|
79
93
|
# Since finalize_fit can't be dispatched without directly provided queue
|
|
@@ -85,6 +99,7 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
85
99
|
|
|
86
100
|
return data
|
|
87
101
|
|
|
102
|
+
@supports_queue
|
|
88
103
|
def partial_fit(self, X, weights=None, queue=None):
|
|
89
104
|
"""
|
|
90
105
|
Computes partial data for basic statistics
|
|
@@ -104,40 +119,40 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
104
119
|
self : object
|
|
105
120
|
Returns the instance itself.
|
|
106
121
|
"""
|
|
122
|
+
use_raw_input = _get_config().get("use_raw_input", False) is True
|
|
123
|
+
sua_iface, _, _ = _get_sycl_namespace(X)
|
|
124
|
+
|
|
125
|
+
# All data should use the same sycl queue
|
|
126
|
+
if use_raw_input and sua_iface:
|
|
127
|
+
queue = X.sycl_queue
|
|
128
|
+
|
|
107
129
|
self._queue = queue
|
|
108
|
-
policy = self._get_policy(queue, X)
|
|
109
130
|
|
|
110
|
-
|
|
111
|
-
X
|
|
112
|
-
|
|
113
|
-
if weights is not None:
|
|
114
|
-
weights = _check_array(
|
|
115
|
-
weights,
|
|
116
|
-
dtype=[np.float64, np.float32],
|
|
117
|
-
ensure_2d=False,
|
|
118
|
-
force_all_finite=False,
|
|
131
|
+
if not use_raw_input:
|
|
132
|
+
X = _check_array(
|
|
133
|
+
X, dtype=[np.float64, np.float32], ensure_2d=False, force_all_finite=False
|
|
119
134
|
)
|
|
135
|
+
if weights is not None:
|
|
136
|
+
weights = _check_array(
|
|
137
|
+
weights,
|
|
138
|
+
dtype=[np.float64, np.float32],
|
|
139
|
+
ensure_2d=False,
|
|
140
|
+
force_all_finite=False,
|
|
141
|
+
)
|
|
120
142
|
|
|
121
143
|
if not hasattr(self, "_onedal_params"):
|
|
122
144
|
dtype = get_dtype(X)
|
|
123
145
|
self._onedal_params = self._get_onedal_params(False, dtype=dtype)
|
|
124
146
|
|
|
125
147
|
X_table, weights_table = to_table(X, weights, queue=queue)
|
|
126
|
-
self._partial_result = self.
|
|
127
|
-
|
|
128
|
-
None,
|
|
129
|
-
"partial_compute",
|
|
130
|
-
policy,
|
|
131
|
-
self._onedal_params,
|
|
132
|
-
self._partial_result,
|
|
133
|
-
X_table,
|
|
134
|
-
weights_table,
|
|
148
|
+
self._partial_result = self.partial_compute(
|
|
149
|
+
self._onedal_params, self._partial_result, X_table, weights_table
|
|
135
150
|
)
|
|
136
151
|
|
|
137
152
|
self._need_to_finalize = True
|
|
138
|
-
|
|
153
|
+
self._queue = queue
|
|
139
154
|
|
|
140
|
-
def finalize_fit(self
|
|
155
|
+
def finalize_fit(self):
|
|
141
156
|
"""
|
|
142
157
|
Finalizes basic statistics computation and obtains result
|
|
143
158
|
attributes from the current `_partial_result`.
|
|
@@ -153,19 +168,9 @@ class IncrementalBasicStatistics(BaseBasicStatistics):
|
|
|
153
168
|
Returns the instance itself.
|
|
154
169
|
"""
|
|
155
170
|
if self._need_to_finalize:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
policy = self._get_policy(self._queue)
|
|
160
|
-
|
|
161
|
-
result = self._get_backend(
|
|
162
|
-
"basic_statistics",
|
|
163
|
-
None,
|
|
164
|
-
"finalize_compute",
|
|
165
|
-
policy,
|
|
166
|
-
self._onedal_params,
|
|
167
|
-
self._partial_result,
|
|
168
|
-
)
|
|
171
|
+
with QM.manage_global_queue(self._queue):
|
|
172
|
+
result = self.finalize_compute(self._onedal_params, self._partial_result)
|
|
173
|
+
|
|
169
174
|
options = self._get_result_options(self.options).split("|")
|
|
170
175
|
for opt in options:
|
|
171
176
|
setattr(self, opt, from_table(getattr(result, opt)).ravel())
|
|
@@ -16,15 +16,18 @@
|
|
|
16
16
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
|
|
19
|
-
from daal4py.sklearn._utils import
|
|
19
|
+
from daal4py.sklearn._utils import make2d
|
|
20
|
+
from onedal._device_offload import supports_queue
|
|
20
21
|
|
|
21
|
-
from ..
|
|
22
|
+
from .._config import _get_config
|
|
23
|
+
from ..common._backend import bind_default_backend
|
|
22
24
|
from ..common._mixin import ClusterMixin
|
|
23
25
|
from ..datatypes import from_table, to_table
|
|
24
|
-
from ..utils import
|
|
26
|
+
from ..utils._array_api import _get_sycl_namespace
|
|
27
|
+
from ..utils.validation import _check_array
|
|
25
28
|
|
|
26
29
|
|
|
27
|
-
class
|
|
30
|
+
class DBSCAN(ClusterMixin):
|
|
28
31
|
def __init__(
|
|
29
32
|
self,
|
|
30
33
|
eps=0.5,
|
|
@@ -46,6 +49,9 @@ class BaseDBSCAN(BaseEstimator, ClusterMixin):
|
|
|
46
49
|
self.p = p
|
|
47
50
|
self.n_jobs = n_jobs
|
|
48
51
|
|
|
52
|
+
@bind_default_backend("dbscan.clustering")
|
|
53
|
+
def compute(self, params, data_table, weights_table): ...
|
|
54
|
+
|
|
49
55
|
def _get_onedal_params(self, dtype=np.float32):
|
|
50
56
|
return {
|
|
51
57
|
"fptype": dtype,
|
|
@@ -56,50 +62,37 @@ class BaseDBSCAN(BaseEstimator, ClusterMixin):
|
|
|
56
62
|
"result_options": "core_observation_indices|responses",
|
|
57
63
|
}
|
|
58
64
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
@supports_queue
|
|
66
|
+
def fit(self, X, y=None, sample_weight=None, queue=None):
|
|
67
|
+
use_raw_input = _get_config().get("use_raw_input", False) is True
|
|
68
|
+
sua_iface, xp, _ = _get_sycl_namespace(X)
|
|
69
|
+
|
|
70
|
+
if not use_raw_input:
|
|
71
|
+
X = _check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
|
|
72
|
+
X = make2d(X)
|
|
73
|
+
elif sua_iface is not None:
|
|
74
|
+
queue = X.sycl_queue
|
|
75
|
+
|
|
63
76
|
X_table, sample_weight_table = to_table(X, sample_weight, queue=queue)
|
|
64
77
|
|
|
65
78
|
params = self._get_onedal_params(X_table.dtype)
|
|
66
|
-
result =
|
|
79
|
+
result = self.compute(params, X_table, sample_weight_table)
|
|
67
80
|
|
|
68
|
-
self.labels_ = from_table(result.responses).ravel()
|
|
69
|
-
if
|
|
81
|
+
self.labels_ = from_table(result.responses, sycl_queue=queue).ravel()
|
|
82
|
+
if (
|
|
83
|
+
result.core_observation_indices is not None
|
|
84
|
+
and not result.core_observation_indices.kind == "empty"
|
|
85
|
+
):
|
|
70
86
|
self.core_sample_indices_ = from_table(
|
|
71
|
-
result.core_observation_indices
|
|
87
|
+
result.core_observation_indices,
|
|
88
|
+
sycl_queue=queue,
|
|
72
89
|
).ravel()
|
|
73
90
|
else:
|
|
74
|
-
|
|
75
|
-
|
|
91
|
+
# construct keyword arguments for different namespaces (dptcl takes sycl_queue)
|
|
92
|
+
kwargs = {"dtype": xp.int32} # always the same
|
|
93
|
+
if xp is not np:
|
|
94
|
+
kwargs["sycl_queue"] = queue
|
|
95
|
+
self.core_sample_indices_ = xp.empty((0,), **kwargs)
|
|
96
|
+
self.components_ = xp.take(X, self.core_sample_indices_, axis=0)
|
|
76
97
|
self.n_features_in_ = X.shape[1]
|
|
77
98
|
return self
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
class DBSCAN(BaseDBSCAN):
|
|
81
|
-
def __init__(
|
|
82
|
-
self,
|
|
83
|
-
eps=0.5,
|
|
84
|
-
*,
|
|
85
|
-
min_samples=5,
|
|
86
|
-
metric="euclidean",
|
|
87
|
-
metric_params=None,
|
|
88
|
-
algorithm="auto",
|
|
89
|
-
leaf_size=30,
|
|
90
|
-
p=None,
|
|
91
|
-
n_jobs=None,
|
|
92
|
-
):
|
|
93
|
-
self.eps = eps
|
|
94
|
-
self.min_samples = min_samples
|
|
95
|
-
self.metric = metric
|
|
96
|
-
self.metric_params = metric_params
|
|
97
|
-
self.algorithm = algorithm
|
|
98
|
-
self.leaf_size = leaf_size
|
|
99
|
-
self.p = p
|
|
100
|
-
self.n_jobs = n_jobs
|
|
101
|
-
|
|
102
|
-
def fit(self, X, y=None, sample_weight=None, queue=None):
|
|
103
|
-
return super()._fit(
|
|
104
|
-
X, y, sample_weight, self._get_backend("dbscan", "clustering", None), queue
|
|
105
|
-
)
|