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
|
@@ -34,6 +34,7 @@ import daal4py as d4p
|
|
|
34
34
|
|
|
35
35
|
from .._n_jobs_support import control_n_jobs
|
|
36
36
|
from .._utils import PatchingConditionsChain, getFPType, sklearn_check_version
|
|
37
|
+
from ..utils.validation import check_feature_names
|
|
37
38
|
from .logistic_loss import (
|
|
38
39
|
_daal4py_cross_entropy_loss_extra_args,
|
|
39
40
|
_daal4py_grad_,
|
|
@@ -793,8 +794,7 @@ def daal4py_fit(self, X, y, sample_weight=None):
|
|
|
793
794
|
|
|
794
795
|
def daal4py_predict(self, X, resultsToEvaluate):
|
|
795
796
|
check_is_fitted(self)
|
|
796
|
-
|
|
797
|
-
self._check_feature_names(X, reset=False)
|
|
797
|
+
check_feature_names(self, X, reset=False)
|
|
798
798
|
X = check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
|
|
799
799
|
try:
|
|
800
800
|
fptype = getFPType(X)
|
|
@@ -1005,8 +1005,7 @@ class LogisticRegression(LogisticRegression_original):
|
|
|
1005
1005
|
self.l1_ratio = l1_ratio
|
|
1006
1006
|
|
|
1007
1007
|
def fit(self, X, y, sample_weight=None):
|
|
1008
|
-
|
|
1009
|
-
self._check_feature_names(X, reset=True)
|
|
1008
|
+
check_feature_names(self, X, reset=True)
|
|
1010
1009
|
if sklearn_check_version("1.2"):
|
|
1011
1010
|
self._validate_params()
|
|
1012
1011
|
return daal4py_fit(self, X, y, sample_weight)
|
|
@@ -37,6 +37,7 @@ from daal4py.sklearn._utils import (
|
|
|
37
37
|
|
|
38
38
|
from .._n_jobs_support import control_n_jobs
|
|
39
39
|
from ..neighbors import NearestNeighbors
|
|
40
|
+
from ..utils.validation import validate_data
|
|
40
41
|
|
|
41
42
|
|
|
42
43
|
@control_n_jobs(decorated_methods=["fit"])
|
|
@@ -183,15 +184,19 @@ class TSNE(BaseTSNE):
|
|
|
183
184
|
)
|
|
184
185
|
|
|
185
186
|
if self.method == "barnes_hut":
|
|
186
|
-
X =
|
|
187
|
+
X = validate_data(
|
|
188
|
+
self,
|
|
187
189
|
X,
|
|
188
190
|
accept_sparse=["csr"],
|
|
189
191
|
ensure_min_samples=2,
|
|
190
192
|
dtype=[np.float32, np.float64],
|
|
191
193
|
)
|
|
192
194
|
else:
|
|
193
|
-
X =
|
|
194
|
-
|
|
195
|
+
X = validate_data(
|
|
196
|
+
self,
|
|
197
|
+
X,
|
|
198
|
+
accept_sparse=["csr", "csc", "coo"],
|
|
199
|
+
dtype=[np.float32, np.float64],
|
|
195
200
|
)
|
|
196
201
|
|
|
197
202
|
if self.metric == "precomputed":
|
|
@@ -107,9 +107,14 @@ def _pairwise_distances(
|
|
|
107
107
|
return _daal4py_correlation_distance_dense(X)
|
|
108
108
|
raise ValueError(f"'{metric}' distance is wrong for daal4py.")
|
|
109
109
|
if metric == "precomputed":
|
|
110
|
-
|
|
111
|
-
X,
|
|
112
|
-
|
|
110
|
+
if sklearn_check_version("1.6"):
|
|
111
|
+
X, _ = check_pairwise_arrays(
|
|
112
|
+
X, Y, precomputed=True, ensure_all_finite=force_all_finite
|
|
113
|
+
)
|
|
114
|
+
else:
|
|
115
|
+
X, _ = check_pairwise_arrays(
|
|
116
|
+
X, Y, precomputed=True, force_all_finite=force_all_finite
|
|
117
|
+
)
|
|
113
118
|
whom = (
|
|
114
119
|
"`pairwise_distances`. Precomputed distance "
|
|
115
120
|
" need to have non-negative values."
|
|
@@ -119,9 +124,20 @@ def _pairwise_distances(
|
|
|
119
124
|
if metric in PAIRWISE_DISTANCE_FUNCTIONS:
|
|
120
125
|
func = PAIRWISE_DISTANCE_FUNCTIONS[metric]
|
|
121
126
|
elif callable(metric):
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
127
|
+
if sklearn_check_version("1.6"):
|
|
128
|
+
func = partial(
|
|
129
|
+
_pairwise_callable,
|
|
130
|
+
metric=metric,
|
|
131
|
+
ensure_all_finite=force_all_finite,
|
|
132
|
+
**kwds,
|
|
133
|
+
)
|
|
134
|
+
else:
|
|
135
|
+
func = partial(
|
|
136
|
+
_pairwise_callable,
|
|
137
|
+
metric=metric,
|
|
138
|
+
force_all_finite=force_all_finite,
|
|
139
|
+
**kwds,
|
|
140
|
+
)
|
|
125
141
|
else:
|
|
126
142
|
if issparse(X) or issparse(Y):
|
|
127
143
|
raise TypeError("scipy distance metrics do not" " support sparse matrices.")
|
|
@@ -132,7 +148,14 @@ def _pairwise_distances(
|
|
|
132
148
|
msg = "Data was converted to boolean for metric %s" % metric
|
|
133
149
|
warnings.warn(msg, DataConversionWarning)
|
|
134
150
|
|
|
135
|
-
|
|
151
|
+
if sklearn_check_version("1.6"):
|
|
152
|
+
X, Y = check_pairwise_arrays(
|
|
153
|
+
X, Y, dtype=dtype, ensure_all_finite=force_all_finite
|
|
154
|
+
)
|
|
155
|
+
else:
|
|
156
|
+
X, Y = check_pairwise_arrays(
|
|
157
|
+
X, Y, dtype=dtype, force_all_finite=force_all_finite
|
|
158
|
+
)
|
|
136
159
|
|
|
137
160
|
# precompute data-derived metric params
|
|
138
161
|
params = _precompute_metric_params(X, Y, metric=metric, **kwds)
|
|
@@ -171,7 +171,7 @@ def enable(name=None, verbose=True, deprecation=True, get_map=_get_map_of_algori
|
|
|
171
171
|
warnings.warn_explicit(
|
|
172
172
|
"\nScikit-learn patching with daal4py is deprecated "
|
|
173
173
|
"and will be removed in the future.\n"
|
|
174
|
-
"Use
|
|
174
|
+
"Use Extension "
|
|
175
175
|
"for Scikit-learn* module instead "
|
|
176
176
|
"(pip install scikit-learn-intelex).\n"
|
|
177
177
|
"To enable patching, please use one of the "
|
|
@@ -187,7 +187,7 @@ def enable(name=None, verbose=True, deprecation=True, get_map=_get_map_of_algori
|
|
|
187
187
|
)
|
|
188
188
|
if verbose and deprecation and sys.stderr is not None:
|
|
189
189
|
sys.stderr.write(
|
|
190
|
-
"
|
|
190
|
+
"oneAPI Data Analytics Library solvers for sklearn enabled: "
|
|
191
191
|
"https://intelpython.github.io/daal4py/sklearn.html\n"
|
|
192
192
|
)
|
|
193
193
|
|
|
@@ -40,6 +40,7 @@ from .._utils import (
|
|
|
40
40
|
getFPType,
|
|
41
41
|
sklearn_check_version,
|
|
42
42
|
)
|
|
43
|
+
from ..utils.validation import check_feature_names, check_n_features, get_requires_y_tag
|
|
43
44
|
|
|
44
45
|
if not sklearn_check_version("1.2"):
|
|
45
46
|
from sklearn.neighbors._base import _check_weights
|
|
@@ -239,10 +240,7 @@ def validate_data(
|
|
|
239
240
|
estimator, X, y=None, reset=True, validate_separately=False, **check_params
|
|
240
241
|
):
|
|
241
242
|
if y is None:
|
|
242
|
-
|
|
243
|
-
requires_y = estimator._get_tags()["requires_y"]
|
|
244
|
-
except KeyError:
|
|
245
|
-
requires_y = False
|
|
243
|
+
requires_y = get_requires_y_tag(estimator)
|
|
246
244
|
|
|
247
245
|
if requires_y:
|
|
248
246
|
raise ValueError(
|
|
@@ -265,7 +263,7 @@ def validate_data(
|
|
|
265
263
|
out = X, y
|
|
266
264
|
|
|
267
265
|
if check_params.get("ensure_2d", True):
|
|
268
|
-
estimator
|
|
266
|
+
check_n_features(estimator, X, reset=reset)
|
|
269
267
|
|
|
270
268
|
return out
|
|
271
269
|
|
|
@@ -304,15 +302,10 @@ class NeighborsBase(BaseNeighborsBase):
|
|
|
304
302
|
stacklevel=2,
|
|
305
303
|
)
|
|
306
304
|
|
|
307
|
-
if (
|
|
308
|
-
hasattr(self, "weights")
|
|
309
|
-
and sklearn_check_version("1.0")
|
|
310
|
-
and not sklearn_check_version("1.2")
|
|
311
|
-
):
|
|
305
|
+
if hasattr(self, "weights") and not sklearn_check_version("1.2"):
|
|
312
306
|
self.weights = _check_weights(self.weights)
|
|
313
307
|
|
|
314
|
-
|
|
315
|
-
self._check_feature_names(X, reset=True)
|
|
308
|
+
check_feature_names(self, X, reset=True)
|
|
316
309
|
|
|
317
310
|
X_incorrect_type = isinstance(
|
|
318
311
|
X, (KDTree, BallTree, NeighborsBase, BaseNeighborsBase)
|
|
@@ -322,10 +315,7 @@ class NeighborsBase(BaseNeighborsBase):
|
|
|
322
315
|
shape = None
|
|
323
316
|
correct_n_classes = True
|
|
324
317
|
|
|
325
|
-
|
|
326
|
-
requires_y = self._get_tags()["requires_y"]
|
|
327
|
-
except KeyError:
|
|
328
|
-
requires_y = False
|
|
318
|
+
requires_y = get_requires_y_tag(self)
|
|
329
319
|
|
|
330
320
|
if y is not None or requires_y:
|
|
331
321
|
if not X_incorrect_type or y is None:
|
|
@@ -25,6 +25,7 @@ from sklearn.neighbors._classification import (
|
|
|
25
25
|
from sklearn.utils.validation import check_array
|
|
26
26
|
|
|
27
27
|
from .._utils import PatchingConditionsChain, getFPType, sklearn_check_version
|
|
28
|
+
from ..utils.validation import check_feature_names
|
|
28
29
|
from ._base import KNeighborsMixin, NeighborsBase, parse_auto_method, prediction_algorithm
|
|
29
30
|
|
|
30
31
|
if not sklearn_check_version("1.2"):
|
|
@@ -34,8 +35,7 @@ from sklearn.utils.validation import _deprecate_positional_args
|
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
def daal4py_classifier_predict(estimator, X, base_predict):
|
|
37
|
-
|
|
38
|
-
estimator._check_feature_names(X, reset=False)
|
|
38
|
+
check_feature_names(estimator, X, reset=False)
|
|
39
39
|
X = check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
|
|
40
40
|
daal_model = getattr(estimator, "_daal_model", None)
|
|
41
41
|
n_features = getattr(estimator, "n_features_in_", None)
|
|
@@ -119,9 +119,7 @@ class KNeighborsClassifier(KNeighborsMixin, BaseClassifierMixin, NeighborsBase):
|
|
|
119
119
|
n_jobs=n_jobs,
|
|
120
120
|
**kwargs,
|
|
121
121
|
)
|
|
122
|
-
self.weights =
|
|
123
|
-
weights if sklearn_check_version("1.0") else _check_weights(weights)
|
|
124
|
-
)
|
|
122
|
+
self.weights = weights
|
|
125
123
|
|
|
126
124
|
def fit(self, X, y):
|
|
127
125
|
return NeighborsBase._fit(self, X, y)
|
|
@@ -130,8 +128,7 @@ class KNeighborsClassifier(KNeighborsMixin, BaseClassifierMixin, NeighborsBase):
|
|
|
130
128
|
return daal4py_classifier_predict(self, X, BaseKNeighborsClassifier.predict)
|
|
131
129
|
|
|
132
130
|
def predict_proba(self, X):
|
|
133
|
-
|
|
134
|
-
self._check_feature_names(X, reset=False)
|
|
131
|
+
check_feature_names(self, X, reset=False)
|
|
135
132
|
return BaseKNeighborsClassifier.predict_proba(self, X)
|
|
136
133
|
|
|
137
134
|
fit.__doc__ = BaseKNeighborsClassifier.fit.__doc__
|
|
@@ -20,6 +20,7 @@ from sklearn.base import RegressorMixin
|
|
|
20
20
|
from sklearn.neighbors._regression import KNeighborsRegressor as BaseKNeighborsRegressor
|
|
21
21
|
|
|
22
22
|
from .._utils import sklearn_check_version
|
|
23
|
+
from ..utils.validation import check_feature_names
|
|
23
24
|
from ._base import KNeighborsMixin, NeighborsBase
|
|
24
25
|
|
|
25
26
|
if not sklearn_check_version("1.2"):
|
|
@@ -55,9 +56,7 @@ class KNeighborsRegressor(KNeighborsMixin, RegressorMixin, NeighborsBase):
|
|
|
55
56
|
n_jobs=n_jobs,
|
|
56
57
|
**kwargs,
|
|
57
58
|
)
|
|
58
|
-
self.weights =
|
|
59
|
-
weights if sklearn_check_version("1.0") else _check_weights(weights)
|
|
60
|
-
)
|
|
59
|
+
self.weights = weights
|
|
61
60
|
|
|
62
61
|
def _more_tags(self):
|
|
63
62
|
return BaseKNeighborsRegressor._more_tags(self)
|
|
@@ -66,8 +65,7 @@ class KNeighborsRegressor(KNeighborsMixin, RegressorMixin, NeighborsBase):
|
|
|
66
65
|
return NeighborsBase._fit(self, X, y)
|
|
67
66
|
|
|
68
67
|
def predict(self, X):
|
|
69
|
-
|
|
70
|
-
self._check_feature_names(X, reset=False)
|
|
68
|
+
check_feature_names(self, X, reset=False)
|
|
71
69
|
return BaseKNeighborsRegressor.predict(self, X)
|
|
72
70
|
|
|
73
71
|
fit.__doc__ = BaseKNeighborsRegressor.fit.__doc__
|
|
@@ -35,6 +35,7 @@ from sklearn.utils.validation import (
|
|
|
35
35
|
import daal4py
|
|
36
36
|
|
|
37
37
|
from .._utils import PatchingConditionsChain, getFPType, make2d
|
|
38
|
+
from ..utils.validation import validate_data
|
|
38
39
|
|
|
39
40
|
|
|
40
41
|
def _get_libsvm_impl():
|
|
@@ -421,7 +422,8 @@ def fit(self, X, y, sample_weight=None):
|
|
|
421
422
|
if callable(self.kernel):
|
|
422
423
|
check_consistent_length(X, y)
|
|
423
424
|
else:
|
|
424
|
-
X, y =
|
|
425
|
+
X, y = validate_data(
|
|
426
|
+
self,
|
|
425
427
|
X,
|
|
426
428
|
y,
|
|
427
429
|
dtype=np.float64,
|
|
@@ -568,7 +570,7 @@ def _daal4py_predict(self, X, is_decision_function=False):
|
|
|
568
570
|
res = -predictionRes.decisionFunction
|
|
569
571
|
|
|
570
572
|
if num_classes == 2 and not is_decision_function:
|
|
571
|
-
# Convert from
|
|
573
|
+
# Convert from oneAPI Data Analytics Library format back to
|
|
572
574
|
# original classes
|
|
573
575
|
np.greater(res, 0, out=res)
|
|
574
576
|
|
|
@@ -14,7 +14,12 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
-
from .validation import
|
|
17
|
+
from .validation import (
|
|
18
|
+
_daal_check_array,
|
|
19
|
+
_daal_check_X_y,
|
|
20
|
+
check_n_features,
|
|
21
|
+
get_requires_y_tag,
|
|
22
|
+
)
|
|
18
23
|
|
|
19
24
|
|
|
20
25
|
def _daal_validate_data(
|
|
@@ -50,7 +55,7 @@ def _daal_validate_data(
|
|
|
50
55
|
"""
|
|
51
56
|
|
|
52
57
|
if y is None:
|
|
53
|
-
if self
|
|
58
|
+
if get_requires_y_tag(self):
|
|
54
59
|
raise ValueError(
|
|
55
60
|
f"This {self.__class__.__name__} estimator "
|
|
56
61
|
f"requires y to be passed, but the target y is None."
|
|
@@ -71,5 +76,5 @@ def _daal_validate_data(
|
|
|
71
76
|
out = X, y
|
|
72
77
|
|
|
73
78
|
if check_params.get("ensure_2d", True):
|
|
74
|
-
self
|
|
79
|
+
check_n_features(self, X, reset=reset)
|
|
75
80
|
return out
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import warnings
|
|
18
18
|
from contextlib import suppress
|
|
19
|
+
from functools import wraps
|
|
19
20
|
|
|
20
21
|
import numpy as np
|
|
21
22
|
import scipy.sparse as sp
|
|
@@ -49,6 +50,19 @@ from .._utils import (
|
|
|
49
50
|
sklearn_check_version,
|
|
50
51
|
)
|
|
51
52
|
|
|
53
|
+
if sklearn_check_version("1.6"):
|
|
54
|
+
from sklearn.utils.validation import (
|
|
55
|
+
_check_feature_names as _sklearn_check_feature_names,
|
|
56
|
+
)
|
|
57
|
+
from sklearn.utils.validation import _check_n_features as _sklearn_check_n_features
|
|
58
|
+
from sklearn.utils.validation import validate_data as _sklearn_validate_data
|
|
59
|
+
else:
|
|
60
|
+
from sklearn.base import BaseEstimator
|
|
61
|
+
|
|
62
|
+
_sklearn_validate_data = BaseEstimator._validate_data
|
|
63
|
+
_sklearn_check_feature_names = BaseEstimator._check_feature_names
|
|
64
|
+
_sklearn_check_n_features = BaseEstimator._check_n_features
|
|
65
|
+
|
|
52
66
|
|
|
53
67
|
def _assert_all_finite(
|
|
54
68
|
X, allow_nan=False, msg_dtype=None, estimator_name=None, input_name=""
|
|
@@ -394,13 +408,19 @@ def _daal_check_array(
|
|
|
394
408
|
|
|
395
409
|
if sp.issparse(array):
|
|
396
410
|
_ensure_no_complex_data(array)
|
|
411
|
+
kwargs = {
|
|
412
|
+
"accept_sparse": accept_sparse,
|
|
413
|
+
"dtype": dtype,
|
|
414
|
+
"copy": copy,
|
|
415
|
+
"accept_large_sparse": accept_large_sparse,
|
|
416
|
+
}
|
|
417
|
+
if sklearn_check_version("1.6"):
|
|
418
|
+
kwargs["ensure_all_finite"] = force_all_finite
|
|
419
|
+
else:
|
|
420
|
+
kwargs["force_all_finite"] = force_all_finite
|
|
397
421
|
array = _ensure_sparse_format(
|
|
398
422
|
array,
|
|
399
|
-
|
|
400
|
-
dtype=dtype,
|
|
401
|
-
copy=copy,
|
|
402
|
-
force_all_finite=force_all_finite,
|
|
403
|
-
accept_large_sparse=accept_large_sparse,
|
|
423
|
+
**kwargs,
|
|
404
424
|
)
|
|
405
425
|
else:
|
|
406
426
|
# If np.array(..) gives ComplexWarning, then we convert the warning
|
|
@@ -694,3 +714,60 @@ def _daal_num_features(X):
|
|
|
694
714
|
return len(first_sample)
|
|
695
715
|
except Exception as err:
|
|
696
716
|
raise TypeError(message) from err
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
def get_requires_y_tag(estimator):
|
|
720
|
+
"""Gets the value of the 'requires_y' tag from the estimator
|
|
721
|
+
using correct code path depending on the scikit-learn version."""
|
|
722
|
+
if sklearn_check_version("1.6"):
|
|
723
|
+
requires_y = estimator.__sklearn_tags__().target_tags.required
|
|
724
|
+
else:
|
|
725
|
+
try:
|
|
726
|
+
requires_y = estimator._get_tags()["requires_y"]
|
|
727
|
+
except KeyError:
|
|
728
|
+
requires_y = False
|
|
729
|
+
return requires_y
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
def add_dispatcher_docstring(original_function):
|
|
733
|
+
"""Adds a note about the dispatcher function to the docstring of the original function."""
|
|
734
|
+
|
|
735
|
+
def wrapper(dispatcher_function):
|
|
736
|
+
@wraps(
|
|
737
|
+
original_function,
|
|
738
|
+
["__name__", "__doc__", "__annotations__", "__type_params__"],
|
|
739
|
+
)
|
|
740
|
+
def new_function(*args, **kwargs):
|
|
741
|
+
return dispatcher_function(*args, **kwargs)
|
|
742
|
+
|
|
743
|
+
new_function.__doc__ = (
|
|
744
|
+
f"Sklearnex dispatcher for '{original_function.__qualname__}' "
|
|
745
|
+
f"from '{original_function.__module__}' module supporting "
|
|
746
|
+
"it's multiple implementations from different scikit-learn versions.\n\n"
|
|
747
|
+
+ original_function.__doc__
|
|
748
|
+
)
|
|
749
|
+
|
|
750
|
+
return new_function
|
|
751
|
+
|
|
752
|
+
return wrapper
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
# simplified copy of similar function from sklearnex.utils.validation,
|
|
756
|
+
# ensures that the correct finiteness check argument is used
|
|
757
|
+
@add_dispatcher_docstring(_sklearn_validate_data)
|
|
758
|
+
def validate_data(*args, **kwargs):
|
|
759
|
+
if not sklearn_check_version("1.6") and "ensure_all_finite" in kwargs:
|
|
760
|
+
kwargs["force_all_finite"] = kwargs.pop("ensure_all_finite")
|
|
761
|
+
return _sklearn_validate_data(*args, **kwargs)
|
|
762
|
+
|
|
763
|
+
|
|
764
|
+
# dispatcher functions which use correct `check_feature_names`/`check_n_features` import
|
|
765
|
+
# depending on the scikit-learn version
|
|
766
|
+
@add_dispatcher_docstring(_sklearn_check_feature_names)
|
|
767
|
+
def check_feature_names(*args, **kwargs):
|
|
768
|
+
_sklearn_check_feature_names(*args, **kwargs)
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
@add_dispatcher_docstring(_sklearn_check_n_features)
|
|
772
|
+
def check_n_features(*args, **kwargs):
|
|
773
|
+
_sklearn_check_n_features(*args, **kwargs)
|
|
@@ -1,83 +1,125 @@
|
|
|
1
|
-
# ==============================================================================
|
|
2
|
-
# Copyright 2021 Intel Corporation
|
|
3
|
-
# Copyright 2024 Fujitsu Limited
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
# ==============================================================================
|
|
17
|
-
|
|
18
|
-
import platform
|
|
19
|
-
|
|
20
|
-
from daal4py.sklearn._utils import daal_check_version
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2021 Intel Corporation
|
|
3
|
+
# Copyright 2024 Fujitsu Limited
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
# ==============================================================================
|
|
17
|
+
|
|
18
|
+
import platform
|
|
19
|
+
|
|
20
|
+
from daal4py.sklearn._utils import daal_check_version
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Backend:
|
|
24
|
+
"""Encapsulates the oneDAL pybind11 modules and provides a unified interface to it together with additional properties about dpc/spmd policies"""
|
|
25
|
+
|
|
26
|
+
def __init__(self, backend_module, is_dpc, is_spmd):
|
|
27
|
+
self.backend = backend_module
|
|
28
|
+
self.is_dpc = is_dpc
|
|
29
|
+
self.is_spmd = is_spmd
|
|
30
|
+
|
|
31
|
+
# accessing the instance will return the backend_module
|
|
32
|
+
def __getattr__(self, name):
|
|
33
|
+
return getattr(self.backend, name)
|
|
34
|
+
|
|
35
|
+
def __repr__(self) -> str:
|
|
36
|
+
return f"Backend({self.backend}, is_dpc={self.is_dpc}, is_spmd={self.is_spmd})"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
if "Windows" in platform.system():
|
|
40
|
+
import os
|
|
41
|
+
import site
|
|
42
|
+
import sys
|
|
43
|
+
|
|
44
|
+
arch_dir = platform.machine()
|
|
45
|
+
plt_dict = {"x86_64": "intel64", "AMD64": "intel64", "aarch64": "arm"}
|
|
46
|
+
arch_dir = plt_dict[arch_dir] if arch_dir in plt_dict else arch_dir
|
|
47
|
+
path_to_env = site.getsitepackages()[0]
|
|
48
|
+
path_to_libs = os.path.join(path_to_env, "Library", "bin")
|
|
49
|
+
if sys.version_info.minor >= 8:
|
|
50
|
+
if "DALROOT" in os.environ:
|
|
51
|
+
dal_root_redist = os.path.join(os.environ["DALROOT"], "redist", arch_dir)
|
|
52
|
+
if os.path.exists(dal_root_redist):
|
|
53
|
+
os.add_dll_directory(dal_root_redist)
|
|
54
|
+
try:
|
|
55
|
+
os.add_dll_directory(path_to_libs)
|
|
56
|
+
except FileNotFoundError:
|
|
57
|
+
pass
|
|
58
|
+
os.environ["PATH"] = path_to_libs + os.pathsep + os.environ["PATH"]
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
try:
|
|
62
|
+
# use dpc backend if available
|
|
63
|
+
import onedal._onedal_py_dpc
|
|
64
|
+
|
|
65
|
+
_dpc_backend = Backend(onedal._onedal_py_dpc, is_dpc=True, is_spmd=False)
|
|
66
|
+
|
|
67
|
+
_host_backend = None
|
|
68
|
+
except ImportError:
|
|
69
|
+
# fall back to host backend
|
|
70
|
+
_dpc_backend = None
|
|
71
|
+
|
|
72
|
+
import onedal._onedal_py_host
|
|
73
|
+
|
|
74
|
+
_host_backend = Backend(onedal._onedal_py_host, is_dpc=False, is_spmd=False)
|
|
75
|
+
|
|
76
|
+
try:
|
|
77
|
+
# also load spmd backend if available
|
|
78
|
+
import onedal._onedal_py_spmd_dpc
|
|
79
|
+
|
|
80
|
+
_spmd_backend = Backend(onedal._onedal_py_spmd_dpc, is_dpc=True, is_spmd=True)
|
|
81
|
+
except ImportError:
|
|
82
|
+
_spmd_backend = None
|
|
83
|
+
|
|
84
|
+
# if/elif/else layout required for pylint to realize _default_backend cannot be None
|
|
85
|
+
if _dpc_backend is not None:
|
|
86
|
+
_default_backend = _dpc_backend
|
|
87
|
+
elif _host_backend is not None:
|
|
88
|
+
_default_backend = _host_backend
|
|
89
|
+
else:
|
|
90
|
+
raise ImportError("No oneDAL backend available")
|
|
91
|
+
|
|
92
|
+
# Core modules to export
|
|
93
|
+
__all__ = [
|
|
94
|
+
"_host_backend",
|
|
95
|
+
"_default_backend",
|
|
96
|
+
"_dpc_backend",
|
|
97
|
+
"_spmd_backend",
|
|
98
|
+
"covariance",
|
|
99
|
+
"decomposition",
|
|
100
|
+
"ensemble",
|
|
101
|
+
"neighbors",
|
|
102
|
+
"primitives",
|
|
103
|
+
"svm",
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
# Additional features based on version checks
|
|
107
|
+
if daal_check_version((2023, "P", 100)):
|
|
108
|
+
__all__ += ["basic_statistics", "linear_model"]
|
|
109
|
+
if daal_check_version((2023, "P", 200)):
|
|
110
|
+
__all__ += ["cluster"]
|
|
111
|
+
|
|
112
|
+
# Exports if SPMD backend is available
|
|
113
|
+
if _spmd_backend is not None:
|
|
114
|
+
__all__ += ["spmd"]
|
|
115
|
+
if daal_check_version((2023, "P", 100)):
|
|
116
|
+
__all__ += [
|
|
117
|
+
"spmd.basic_statistics",
|
|
118
|
+
"spmd.decomposition",
|
|
119
|
+
"spmd.linear_model",
|
|
120
|
+
"spmd.neighbors",
|
|
121
|
+
]
|
|
122
|
+
if daal_check_version((2023, "P", 200)):
|
|
123
|
+
__all__ += ["spmd.cluster"]
|
|
124
|
+
|
|
125
|
+
__version__ = "2021.6"
|