scikit-learn-intelex 2025.6.1__py311-none-win_amd64.whl → 2025.8.0__py311-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +2 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +258 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +30 -5
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +4 -4
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +616 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +15 -16
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/__init__.py +26 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_config.py +5 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/_device_offload.py +84 -94
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +151 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +42 -57
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +6 -7
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +11 -11
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +7 -25
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +18 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_backend.py +62 -37
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +32 -9
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +6 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +10 -12
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +8 -16
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +12 -2
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +156 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +61 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +63 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +8 -3
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +61 -19
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +8 -17
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +6 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +15 -9
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +201 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +230 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +14 -15
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +10 -17
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +64 -17
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/svm.py +0 -12
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +15 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +23 -6
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +25 -25
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +106 -54
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/onedal/utils/_third_party.py +220 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/validation.py +11 -3
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__init__.py +2 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_config.py +17 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +45 -34
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/_utils.py +52 -3
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/base.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +31 -45
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +50 -55
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +30 -27
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +1 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +14 -5
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +21 -9
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +54 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +13 -7
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +17 -5
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +22 -7
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +2 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +90 -73
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +83 -60
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +53 -41
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +11 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +47 -27
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +27 -61
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +577 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +8 -6
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +3 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +54 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +7 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +6 -3
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +12 -8
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +26 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +11 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -7
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +21 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -7
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -4
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +31 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +41 -2
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +77 -6
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -8
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +1 -1
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +13 -13
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +4 -22
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +71 -0
- scikit_learn_intelex-2025.8.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +29 -11
- {scikit_learn_intelex-2025.6.1.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/METADATA +2 -2
- scikit_learn_intelex-2025.8.0.dist-info/RECORD +259 -0
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -1025
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +0 -111
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -117
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +0 -311
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +0 -351
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +0 -71
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -134
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -43
- scikit_learn_intelex-2025.6.1.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
- scikit_learn_intelex-2025.6.1.dist-info/RECORD +0 -257
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.6.1.data → scikit_learn_intelex-2025.8.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.6.1.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.6.1.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.6.1.dist-info → scikit_learn_intelex-2025.8.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
"""Utilities for accessing third party packages such as DPNP, DPCtl.
|
|
18
|
+
|
|
19
|
+
Notes
|
|
20
|
+
-----
|
|
21
|
+
See `Data Parallel Extensions for Python <https://github.com/IntelPython/DPEP>`__
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
import functools
|
|
25
|
+
import importlib
|
|
26
|
+
import sys
|
|
27
|
+
from typing import Callable
|
|
28
|
+
|
|
29
|
+
from daal4py.sklearn._utils import _package_check_version
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@functools.lru_cache(maxsize=256, typed=False)
|
|
33
|
+
def is_dpctl_available(version=None):
|
|
34
|
+
"""Check availability of DPCtl package.
|
|
35
|
+
|
|
36
|
+
Parameters
|
|
37
|
+
----------
|
|
38
|
+
version : str or None, default=None
|
|
39
|
+
Minimum supported dpctl version if installed.
|
|
40
|
+
Secondary version check skipped if set to None.
|
|
41
|
+
|
|
42
|
+
Returns
|
|
43
|
+
-------
|
|
44
|
+
dpctl_available : bool
|
|
45
|
+
Flag describing import success.
|
|
46
|
+
"""
|
|
47
|
+
try:
|
|
48
|
+
import dpctl
|
|
49
|
+
|
|
50
|
+
dpctl_available = True
|
|
51
|
+
except ImportError:
|
|
52
|
+
dpctl_available = False
|
|
53
|
+
if dpctl_available and version is not None:
|
|
54
|
+
dpctl_available = _package_check_version(version, dpctl.__version__)
|
|
55
|
+
return dpctl_available
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
# Note: The dpctl package contains both SYCL infrastructure as well as a
|
|
59
|
+
# data framework (dpctl.tensor). dpctl.tensor is not imported when dpctl is
|
|
60
|
+
# imported. All data frameworks are to be lazy-loaded, but aspects of dpctl
|
|
61
|
+
# (e.g. SyclQueue) are loaded as normal as it is preferred over included
|
|
62
|
+
# backend replacements in the core onedal python module.
|
|
63
|
+
dpctl_available = is_dpctl_available()
|
|
64
|
+
|
|
65
|
+
if dpctl_available:
|
|
66
|
+
from dpctl import SyclQueue
|
|
67
|
+
else:
|
|
68
|
+
from onedal import _default_backend as backend
|
|
69
|
+
|
|
70
|
+
SyclQueue = backend.SyclQueue
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def lazy_import(*module_names: str) -> Callable:
|
|
74
|
+
"""Lazy load python modules for use in a function.
|
|
75
|
+
|
|
76
|
+
Decorator which uses dependency injection with monkeypatching to import
|
|
77
|
+
python modules when called. This is done only once on first usage of
|
|
78
|
+
the wrapped function to minimize overhead and reduce branching.
|
|
79
|
+
|
|
80
|
+
Parameters
|
|
81
|
+
----------
|
|
82
|
+
*module_names : strings
|
|
83
|
+
Arguments are names of modules to be imported via importlib.
|
|
84
|
+
|
|
85
|
+
Returns
|
|
86
|
+
-------
|
|
87
|
+
decorator : callable
|
|
88
|
+
Flag describing import success.
|
|
89
|
+
|
|
90
|
+
Notes
|
|
91
|
+
-----
|
|
92
|
+
The wrapped original function should have the modules as the first
|
|
93
|
+
arguments. This will be hidden to the user. Lazy imports cannot be
|
|
94
|
+
stacked, instead pass multiple arguments to the decorator.
|
|
95
|
+
"""
|
|
96
|
+
|
|
97
|
+
# func should have leading arguments which are following a dependency
|
|
98
|
+
# injection paradigm
|
|
99
|
+
def decorator(func: Callable):
|
|
100
|
+
@functools.wraps(func)
|
|
101
|
+
def wrapper(*first_args, **first_kwargs):
|
|
102
|
+
modules = tuple(importlib.import_module(i) for i in module_names)
|
|
103
|
+
|
|
104
|
+
# hide dependency injection of the original function
|
|
105
|
+
# onedal/sklearnex will call the underlying function
|
|
106
|
+
# via ``public_func``
|
|
107
|
+
def public_func(*args, **kwargs):
|
|
108
|
+
return func(*modules, *args, **kwargs)
|
|
109
|
+
|
|
110
|
+
# Monkeypatch the original in a general fashion (cannot use
|
|
111
|
+
# globals())
|
|
112
|
+
modname = func.__module__
|
|
113
|
+
funcname = func.__name__
|
|
114
|
+
setattr(sys.modules[modname], funcname, public_func)
|
|
115
|
+
|
|
116
|
+
return public_func(*first_args, **first_kwargs)
|
|
117
|
+
|
|
118
|
+
return wrapper
|
|
119
|
+
|
|
120
|
+
return decorator
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def convert_sklearnex_queue(func: Callable) -> Callable:
|
|
124
|
+
"""Convert sklearnex pybind11-defined SyclQueue to a dpctl SyclQueue.
|
|
125
|
+
|
|
126
|
+
There are circumstances where the internal sklearnex pybind-11-defined
|
|
127
|
+
SyclQueue generation is required due to gaps in ``dpctl.SyclQueue``
|
|
128
|
+
initializer. This will change the return value of the function to a
|
|
129
|
+
``dpctl.SyclQueue`` if dpctl is available, otherwise it will not wrap
|
|
130
|
+
the function whatsoever (the function will return an internal SyclQueue).
|
|
131
|
+
|
|
132
|
+
Parameters
|
|
133
|
+
----------
|
|
134
|
+
func : callable
|
|
135
|
+
Function or method to be wrapped.
|
|
136
|
+
|
|
137
|
+
Returns
|
|
138
|
+
-------
|
|
139
|
+
wrapped : callable
|
|
140
|
+
Wrapped or original function depending on ``dpctl_available``.
|
|
141
|
+
"""
|
|
142
|
+
if dpctl_available:
|
|
143
|
+
|
|
144
|
+
@functools.wraps(func)
|
|
145
|
+
def wrapper(*args, **kwargs):
|
|
146
|
+
return SyclQueue(func(*args, **kwargs)._get_capsule())
|
|
147
|
+
|
|
148
|
+
return wrapper
|
|
149
|
+
|
|
150
|
+
else:
|
|
151
|
+
return func
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
@functools.lru_cache(100)
|
|
155
|
+
def _is_subclass_fast(cls: type, modname: str, clsname: str) -> bool:
|
|
156
|
+
# Taken directly from array_api_compat.common._helpers to use for
|
|
157
|
+
# general use (not just array_api)
|
|
158
|
+
try:
|
|
159
|
+
mod = sys.modules[modname]
|
|
160
|
+
except KeyError:
|
|
161
|
+
return False
|
|
162
|
+
parent_cls = getattr(mod, clsname)
|
|
163
|
+
return issubclass(cls, parent_cls)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def is_dpnp_ndarray(x: object) -> bool:
|
|
167
|
+
"""Return True if 'x' is a dpnp ndarray.
|
|
168
|
+
|
|
169
|
+
This function does not import dpnp if it has not already been imported
|
|
170
|
+
and is therefore cheap to use.
|
|
171
|
+
|
|
172
|
+
Parameters
|
|
173
|
+
----------
|
|
174
|
+
x : object
|
|
175
|
+
Any python object.
|
|
176
|
+
|
|
177
|
+
Returns
|
|
178
|
+
-------
|
|
179
|
+
is_dpnp : bool
|
|
180
|
+
Flag if subclass of dpnp.ndarray.
|
|
181
|
+
"""
|
|
182
|
+
return _is_subclass_fast(type(x), "dpnp", "ndarray")
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def is_dpctl_tensor(x: object) -> bool:
|
|
186
|
+
"""Return True if 'x' is a dpctl usm_ndarray.
|
|
187
|
+
|
|
188
|
+
This function does not import dpctl.tensor if it has not already been
|
|
189
|
+
imported and is therefore cheap to use.
|
|
190
|
+
|
|
191
|
+
Parameters
|
|
192
|
+
----------
|
|
193
|
+
x : object
|
|
194
|
+
Any python object.
|
|
195
|
+
|
|
196
|
+
Returns
|
|
197
|
+
-------
|
|
198
|
+
is_dpctl : bool
|
|
199
|
+
Flag if subclass of dpctl.tensor.usm_ndarray.
|
|
200
|
+
"""
|
|
201
|
+
return _is_subclass_fast(type(x), "dpctl.tensor", "usm_ndarray")
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
def is_torch_tensor(x: object) -> bool:
|
|
205
|
+
"""Return True if 'x' is a PyTorch Tensor.
|
|
206
|
+
|
|
207
|
+
This function does not import PyTorch if it has not already been imported
|
|
208
|
+
and is therefore cheap to use.
|
|
209
|
+
|
|
210
|
+
Parameters
|
|
211
|
+
----------
|
|
212
|
+
x : object
|
|
213
|
+
Any python object.
|
|
214
|
+
|
|
215
|
+
Returns
|
|
216
|
+
-------
|
|
217
|
+
is_torch : bool
|
|
218
|
+
Flag if subclass of torch.Tensor.
|
|
219
|
+
"""
|
|
220
|
+
return _is_subclass_fast(type(x), "torch", "Tensor")
|
|
@@ -93,7 +93,7 @@ def _compute_class_weight(class_weight, classes, y):
|
|
|
93
93
|
|
|
94
94
|
le = LabelEncoder()
|
|
95
95
|
y_ind = le.fit_transform(y_)
|
|
96
|
-
if not
|
|
96
|
+
if not np.isin(classes, le.classes_).all():
|
|
97
97
|
raise ValueError("classes should have valid labels that are in y")
|
|
98
98
|
|
|
99
99
|
y_bin = np.bincount(y_ind).astype(np.float64)
|
|
@@ -131,10 +131,18 @@ def _validate_targets(y, class_weight, dtype):
|
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
def get_finite_keyword():
|
|
134
|
-
"""
|
|
134
|
+
"""Return scikit-learn-matching finite check enabling keyword.
|
|
135
|
+
|
|
136
|
+
Gets the argument name for scikit-learn's validation functions compatible with
|
|
135
137
|
the current version of scikit-learn and using function inspection instead of
|
|
136
138
|
version check due to `onedal` design rule: sklearn versioning should occur
|
|
137
|
-
in
|
|
139
|
+
in ``sklearnex`` module.
|
|
140
|
+
|
|
141
|
+
Returns
|
|
142
|
+
-------
|
|
143
|
+
finite_keyword : str
|
|
144
|
+
Keyword string used to enable finiteness checking.
|
|
145
|
+
"""
|
|
138
146
|
if "ensure_all_finite" in inspect.signature(check_array).parameters:
|
|
139
147
|
return "ensure_all_finite"
|
|
140
148
|
return "force_all_finite"
|
|
@@ -46,6 +46,7 @@ __all__ = [
|
|
|
46
46
|
"model_selection",
|
|
47
47
|
"neighbors",
|
|
48
48
|
"patch_sklearn",
|
|
49
|
+
"reset_hyperparameters",
|
|
49
50
|
"set_config",
|
|
50
51
|
"sklearn_is_patched",
|
|
51
52
|
"svm",
|
|
@@ -56,7 +57,7 @@ __version__ = "2199.9.9"
|
|
|
56
57
|
onedal_iface_flag = os.environ.get("OFF_ONEDAL_IFACE", "0")
|
|
57
58
|
if onedal_iface_flag == "0":
|
|
58
59
|
from onedal import _spmd_backend
|
|
59
|
-
from onedal.common.hyperparameters import get_hyperparameters
|
|
60
|
+
from onedal.common.hyperparameters import get_hyperparameters, reset_hyperparameters
|
|
60
61
|
|
|
61
62
|
if _spmd_backend is not None:
|
|
62
63
|
__all__.append("spmd")
|
|
@@ -25,7 +25,7 @@ from onedal._config import _get_config as onedal_get_config
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
def get_config():
|
|
28
|
-
"""Retrieve current values for configuration set by :func:`set_config
|
|
28
|
+
"""Retrieve current values for configuration set by :func:`set_config`.
|
|
29
29
|
|
|
30
30
|
Returns
|
|
31
31
|
-------
|
|
@@ -49,11 +49,11 @@ def set_config(
|
|
|
49
49
|
use_raw_input=None,
|
|
50
50
|
**sklearn_configs,
|
|
51
51
|
):
|
|
52
|
-
"""Set global configuration
|
|
52
|
+
"""Set global configuration.
|
|
53
53
|
|
|
54
54
|
Parameters
|
|
55
55
|
----------
|
|
56
|
-
target_offload :
|
|
56
|
+
target_offload : str or SyclQueue or None, default=None
|
|
57
57
|
The device primarily used to perform computations.
|
|
58
58
|
If string, expected to be "auto" (the execution context
|
|
59
59
|
is deduced from input data location),
|
|
@@ -70,12 +70,17 @@ def set_config(
|
|
|
70
70
|
Global default: True.
|
|
71
71
|
|
|
72
72
|
use_raw_input : bool or None, default=None
|
|
73
|
-
.. deprecated:: 2026.0
|
|
74
73
|
If True, uses the raw input data in some SPMD onedal backend computations
|
|
75
74
|
without any checks on data consistency or validity.
|
|
76
75
|
Not recommended for general use.
|
|
77
76
|
Global default: False.
|
|
78
77
|
|
|
78
|
+
.. deprecated:: 2026.0
|
|
79
|
+
|
|
80
|
+
**sklearn_configs : kwargs
|
|
81
|
+
Scikit-learn configuration settings dependent on the installed version
|
|
82
|
+
of scikit-learn.
|
|
83
|
+
|
|
79
84
|
See Also
|
|
80
85
|
--------
|
|
81
86
|
config_context : Context manager for global configuration.
|
|
@@ -85,6 +90,10 @@ def set_config(
|
|
|
85
90
|
--------
|
|
86
91
|
Using ``use_raw_input=True`` is not recommended for general use as it
|
|
87
92
|
bypasses data consistency checks, which may lead to unexpected behavior.
|
|
93
|
+
|
|
94
|
+
Use of ``target_offload`` requires the DPC++ backend. Setting a
|
|
95
|
+
non-default value (e.g ``cpu`` or ``gpu``) without this backend active
|
|
96
|
+
will raise an error.
|
|
88
97
|
"""
|
|
89
98
|
|
|
90
99
|
array_api_dispatch = sklearn_configs.get("array_api_dispatch", False)
|
|
@@ -106,12 +115,12 @@ def set_config(
|
|
|
106
115
|
|
|
107
116
|
|
|
108
117
|
@contextmanager
|
|
109
|
-
def config_context(**new_config):
|
|
110
|
-
"""Context manager for global scikit-learn configuration
|
|
118
|
+
def config_context(**new_config): # numpydoc ignore=PR01,PR07
|
|
119
|
+
"""Context manager for global scikit-learn configuration.
|
|
111
120
|
|
|
112
121
|
Parameters
|
|
113
122
|
----------
|
|
114
|
-
target_offload :
|
|
123
|
+
target_offload : str or SyclQueue or None, default=None
|
|
115
124
|
The device primarily used to perform computations.
|
|
116
125
|
If string, expected to be "auto" (the execution context
|
|
117
126
|
is deduced from input data location),
|
|
@@ -134,7 +143,7 @@ def config_context(**new_config):
|
|
|
134
143
|
Not recommended for general use.
|
|
135
144
|
Global default: False.
|
|
136
145
|
|
|
137
|
-
|
|
146
|
+
Notes
|
|
138
147
|
-----
|
|
139
148
|
All settings, not just those presently modified, will be returned to
|
|
140
149
|
their previous values when the context manager is exited.
|
|
@@ -18,14 +18,11 @@ from collections.abc import Callable
|
|
|
18
18
|
from functools import wraps
|
|
19
19
|
from typing import Any, Union
|
|
20
20
|
|
|
21
|
-
from onedal._device_offload import
|
|
21
|
+
from onedal._device_offload import _transfer_to_host
|
|
22
|
+
from onedal.datatypes import copy_to_dpnp, copy_to_usm
|
|
22
23
|
from onedal.utils import _sycl_queue_manager as QM
|
|
23
24
|
from onedal.utils._array_api import _asarray, _is_numpy_namespace
|
|
24
|
-
from onedal.utils.
|
|
25
|
-
|
|
26
|
-
if dpnp_available:
|
|
27
|
-
import dpnp
|
|
28
|
-
from onedal.utils._array_api import _convert_to_dpnp
|
|
25
|
+
from onedal.utils._third_party import is_dpnp_ndarray
|
|
29
26
|
|
|
30
27
|
from ._config import config_context, get_config, set_config
|
|
31
28
|
from ._utils import PatchingConditionsChain, get_tags
|
|
@@ -52,14 +49,16 @@ def _get_backend(
|
|
|
52
49
|
|
|
53
50
|
if gpu_device:
|
|
54
51
|
patching_status = obj._onedal_gpu_supported(method_name, *data)
|
|
55
|
-
if (
|
|
56
|
-
not patching_status.get_status()
|
|
57
|
-
and (config := get_config())["allow_fallback_to_host"]
|
|
58
|
-
):
|
|
52
|
+
if not patching_status.get_status() and get_config()["allow_fallback_to_host"]:
|
|
59
53
|
QM.fallback_to_host()
|
|
60
54
|
return None, patching_status
|
|
61
55
|
return patching_status.get_status(), patching_status
|
|
62
56
|
|
|
57
|
+
if get_config()["allow_fallback_to_host"]:
|
|
58
|
+
# This may trigger if the ``onedal.utils._sycl_queue_manager.__non_queue``
|
|
59
|
+
# object is the queue (e.g. if non-SYCL device data is encountered)
|
|
60
|
+
QM.fallback_to_host()
|
|
61
|
+
return None, None
|
|
63
62
|
raise RuntimeError("Device support is not implemented for the supplied data type.")
|
|
64
63
|
|
|
65
64
|
|
|
@@ -77,6 +76,7 @@ def dispatch(
|
|
|
77
76
|
**kwargs,
|
|
78
77
|
) -> Any:
|
|
79
78
|
"""Dispatch object method call to oneDAL if conditionally possible.
|
|
79
|
+
|
|
80
80
|
Depending on support conditions, oneDAL will be called, otherwise it will
|
|
81
81
|
fall back to calling scikit-learn. Dispatching to oneDAL can be influenced
|
|
82
82
|
by the 'use_raw_input' or 'allow_fallback_to_host' config parameters.
|
|
@@ -84,25 +84,25 @@ def dispatch(
|
|
|
84
84
|
Parameters
|
|
85
85
|
----------
|
|
86
86
|
obj : object
|
|
87
|
-
|
|
87
|
+
Sklearnex object which inherits from oneDALEstimator and contains
|
|
88
88
|
``onedal_cpu_supported`` and ``onedal_gpu_supported`` methods which
|
|
89
89
|
evaluate oneDAL support.
|
|
90
90
|
|
|
91
|
-
method_name :
|
|
92
|
-
|
|
91
|
+
method_name : str
|
|
92
|
+
Name of method to be evaluated for oneDAL support.
|
|
93
93
|
|
|
94
94
|
branches : dict
|
|
95
|
-
|
|
95
|
+
Dictionary containing functions to be called. Only keys 'sklearn' and
|
|
96
96
|
'onedal' are used which should contain the relevant scikit-learn and
|
|
97
97
|
onedal object methods respectively. All functions should accept the
|
|
98
98
|
inputs from *args and **kwargs. Additionally, the onedal object method
|
|
99
99
|
must accept a 'queue' keyword.
|
|
100
100
|
|
|
101
101
|
*args : tuple
|
|
102
|
-
|
|
102
|
+
Arguments to be supplied to the dispatched method.
|
|
103
103
|
|
|
104
104
|
**kwargs : dict
|
|
105
|
-
|
|
105
|
+
Keyword arguments to be supplied to the dispatched method.
|
|
106
106
|
|
|
107
107
|
Returns
|
|
108
108
|
-------
|
|
@@ -121,12 +121,9 @@ def dispatch(
|
|
|
121
121
|
# backend can only be a boolean or None, None signifies an unverified backend
|
|
122
122
|
backend: "bool | None" = None
|
|
123
123
|
|
|
124
|
-
#
|
|
125
|
-
#
|
|
126
|
-
#
|
|
127
|
-
# so that later use of get_global_queue only sends to host. We must modify
|
|
128
|
-
# the target offload settings, but we must also set the original value at the
|
|
129
|
-
# end, hence the need of a contextmanager.
|
|
124
|
+
# The _sycl_queue_manager verifies all arguments are on a single SYCL device or
|
|
125
|
+
# cpu and will otherwise throw an error. If located on a non-SYCL, non-CPU
|
|
126
|
+
# device, a special queue is set which will cause a failure in ``_get_backend``
|
|
130
127
|
with QM.manage_global_queue(None, *args):
|
|
131
128
|
if onedal_array_api:
|
|
132
129
|
backend, patching_status = _get_backend(obj, method_name, *args)
|
|
@@ -139,7 +136,7 @@ def dispatch(
|
|
|
139
136
|
return branches["sklearn"](obj, *args, **kwargs)
|
|
140
137
|
|
|
141
138
|
# move data to host because of multiple reasons: array_api fallback to host,
|
|
142
|
-
# non array_api
|
|
139
|
+
# non array_api supporting oneDAL code, issues with usm support in sklearn.
|
|
143
140
|
has_usm_data_for_args, hostargs = _transfer_to_host(*args)
|
|
144
141
|
has_usm_data_for_kwargs, hostvalues = _transfer_to_host(*kwargs.values())
|
|
145
142
|
|
|
@@ -164,28 +161,42 @@ def dispatch(
|
|
|
164
161
|
|
|
165
162
|
|
|
166
163
|
def wrap_output_data(func: Callable) -> Callable:
|
|
167
|
-
"""
|
|
164
|
+
"""Transform function output to match input format.
|
|
165
|
+
|
|
168
166
|
Converts and moves the output arrays of the decorated function
|
|
169
167
|
to match the input array type and device.
|
|
168
|
+
|
|
169
|
+
Parameters
|
|
170
|
+
----------
|
|
171
|
+
func : callable
|
|
172
|
+
Function or method which has array data as input.
|
|
173
|
+
|
|
174
|
+
Returns
|
|
175
|
+
-------
|
|
176
|
+
wrapper : callable
|
|
177
|
+
Wrapped function or method which will return matching format.
|
|
170
178
|
"""
|
|
171
179
|
|
|
172
180
|
@wraps(func)
|
|
173
181
|
def wrapper(self, *args, **kwargs) -> Any:
|
|
174
182
|
result = func(self, *args, **kwargs)
|
|
175
183
|
if not (len(args) == 0 and len(kwargs) == 0):
|
|
176
|
-
data = (*args, *kwargs.values())
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
+
data = (*args, *kwargs.values())[0]
|
|
185
|
+
# Remove check for result __sycl_usm_array_interface__ on deprecation of use_raw_inputs
|
|
186
|
+
if (
|
|
187
|
+
usm_iface := getattr(data, "__sycl_usm_array_interface__", None)
|
|
188
|
+
) and not hasattr(result, "__sycl_usm_array_interface__"):
|
|
189
|
+
queue = usm_iface["syclobj"]
|
|
190
|
+
return (
|
|
191
|
+
copy_to_dpnp(queue, result)
|
|
192
|
+
if is_dpnp_ndarray(data)
|
|
193
|
+
else copy_to_usm(queue, result)
|
|
194
|
+
)
|
|
184
195
|
|
|
185
196
|
if get_config().get("transform_output") in ("default", None):
|
|
186
|
-
input_array_api = getattr(data
|
|
197
|
+
input_array_api = getattr(data, "__array_namespace__", lambda: None)()
|
|
187
198
|
if input_array_api and not _is_numpy_namespace(input_array_api):
|
|
188
|
-
input_array_api_device = data
|
|
199
|
+
input_array_api_device = data.device
|
|
189
200
|
result = _asarray(
|
|
190
201
|
result, input_array_api, device=input_array_api_device
|
|
191
202
|
)
|
|
@@ -27,6 +27,12 @@ from daal4py.sklearn._utils import (
|
|
|
27
27
|
PatchingConditionsChain as daal4py_PatchingConditionsChain,
|
|
28
28
|
)
|
|
29
29
|
from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
|
|
30
|
+
from onedal.common.hyperparameters import (
|
|
31
|
+
get_hyperparameters as onedal_get_hyperparameters,
|
|
32
|
+
)
|
|
33
|
+
from onedal.common.hyperparameters import (
|
|
34
|
+
reset_hyperparameters as onedal_reset_hyperparameters,
|
|
35
|
+
)
|
|
30
36
|
|
|
31
37
|
# Not an ideal solution, but this allows for access to the outputs of older
|
|
32
38
|
# sklearnex tag dictionaries in a way similar to the sklearn >=1.6 tag
|
|
@@ -120,11 +126,36 @@ def get_sklearnex_version(rule):
|
|
|
120
126
|
|
|
121
127
|
def register_hyperparameters(hyperparameters_map):
|
|
122
128
|
"""Decorator for hyperparameters support in estimator class.
|
|
123
|
-
|
|
129
|
+
|
|
130
|
+
Adds `get_hyperparameters` and `reset_hyperparameters` methods to class.
|
|
131
|
+
|
|
132
|
+
Parameters
|
|
133
|
+
----------
|
|
134
|
+
hyperparameters_map : Dict[str, Tuple[str, str]]
|
|
135
|
+
Dictionary containing the mapping of the operator name in the sklearnex API
|
|
136
|
+
to the tuple (algorithm name, operation name) that contains the arguments to
|
|
137
|
+
onedal.common.hyperparameters.get_hyperparameters and
|
|
138
|
+
onedal.common.hyperparameters.reset_hyperparameters functions.
|
|
139
|
+
|
|
140
|
+
Returns
|
|
141
|
+
-------
|
|
142
|
+
decorator : function
|
|
143
|
+
Function which adds `get_hyperparameters` method to classes.
|
|
124
144
|
"""
|
|
125
145
|
|
|
126
146
|
def decorator(cls):
|
|
127
|
-
"""Add
|
|
147
|
+
"""Add ``get_hyperparameters()` static method to a class.
|
|
148
|
+
|
|
149
|
+
Parameters
|
|
150
|
+
----------
|
|
151
|
+
cls : class
|
|
152
|
+
Class to be modified.
|
|
153
|
+
|
|
154
|
+
Returns
|
|
155
|
+
-------
|
|
156
|
+
cls : class
|
|
157
|
+
Class with added `get_hyperparameters` method.
|
|
158
|
+
"""
|
|
128
159
|
|
|
129
160
|
class StaticHyperparametersAccessor:
|
|
130
161
|
"""Like a @staticmethod, but additionally raises a Warning when called on an instance."""
|
|
@@ -137,9 +168,27 @@ def register_hyperparameters(hyperparameters_map):
|
|
|
137
168
|
return self.get_hyperparameters
|
|
138
169
|
|
|
139
170
|
def get_hyperparameters(self, op):
|
|
140
|
-
return
|
|
171
|
+
return onedal_get_hyperparameters(
|
|
172
|
+
hyperparameters_map[op][0], hyperparameters_map[op][1]
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
class StaticHyperparametersResetter:
|
|
176
|
+
"""Like a @staticmethod, but additionally raises a Warning when called on an instance."""
|
|
177
|
+
|
|
178
|
+
def __get__(self, instance, _):
|
|
179
|
+
if instance is not None:
|
|
180
|
+
warnings.warn(
|
|
181
|
+
"Hyperparameters are static variables and can not be modified per instance."
|
|
182
|
+
)
|
|
183
|
+
return self.reset_hyperparameters
|
|
184
|
+
|
|
185
|
+
def reset_hyperparameters(self, op):
|
|
186
|
+
return onedal_reset_hyperparameters(
|
|
187
|
+
hyperparameters_map[op][0], hyperparameters_map[op][1]
|
|
188
|
+
)
|
|
141
189
|
|
|
142
190
|
cls.get_hyperparameters = StaticHyperparametersAccessor()
|
|
191
|
+
cls.reset_hyperparameters = StaticHyperparametersResetter()
|
|
143
192
|
return cls
|
|
144
193
|
|
|
145
194
|
return decorator
|
|
@@ -88,7 +88,7 @@ class oneDALEstimator:
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
def _get_doc_link(self) -> str:
|
|
91
|
-
# This method is meant to generate a clickable doc link for
|
|
91
|
+
# This method is meant to generate a clickable doc link for classes
|
|
92
92
|
# in sklearnex including those that are not part of base scikit-learn.
|
|
93
93
|
# It should be inherited before inheriting from a scikit-learn estimator.
|
|
94
94
|
|