scikit-learn-intelex 2025.7.0__py312-none-win_amd64.whl → 2025.9.0__py312-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.9.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +19 -8
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +17 -23
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +4 -4
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +545 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +5 -2
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +2 -2
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/_device_offload.py +41 -40
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +52 -76
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +26 -41
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +6 -7
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +11 -11
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +7 -25
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +1 -1
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +31 -11
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +5 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +7 -16
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +13 -18
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +3 -3
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +6 -3
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +158 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/datatypes/_dlpack.py +64 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/_sycl_usm.py +9 -24
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +85 -18
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -40
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +124 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +11 -5
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +5 -5
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +48 -160
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +75 -188
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +25 -11
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +10 -17
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +5 -4
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +14 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +3 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +51 -25
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/_third_party.py +52 -2
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/__init__.py +2 -1
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -5
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +13 -12
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/_utils.py +31 -4
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +26 -37
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +33 -42
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +30 -27
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +1 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +139 -98
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +30 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +558 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +164 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -6
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +8 -2
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +22 -7
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +2 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +76 -68
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +69 -53
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +53 -41
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +122 -38
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +42 -31
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +27 -61
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +565 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +8 -6
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +260 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +112 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +406 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +55 -1
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +7 -4
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +6 -3
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +12 -8
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +26 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +7 -4
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +18 -8
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +7 -2
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +6 -4
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +2 -2
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +19 -6
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +299 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +21 -4
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +7 -4
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -8
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -4
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +23 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +136 -13
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +71 -8
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +31 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -1
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +55 -6
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +111 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +1 -1
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +18 -14
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +3 -21
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +217 -0
- scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +97 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +19 -1
- {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/METADATA +83 -92
- scikit_learn_intelex-2025.9.0.dist-info/RECORD +259 -0
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -1039
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -110
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +0 -200
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -423
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -115
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -134
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -129
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -119
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +0 -227
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -50
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -71
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -43
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -82
- scikit_learn_intelex-2025.7.0.data/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -59
- scikit_learn_intelex-2025.7.0.dist-info/RECORD +0 -258
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_backend.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/onedal/utils/validation.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/base.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.7.0.data → scikit_learn_intelex-2025.9.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
- {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.7.0.dist-info → scikit_learn_intelex-2025.9.0.dist-info}/top_level.txt +0 -0
|
@@ -161,21 +161,21 @@ def test_overdetermined_system(queue, dtype, fit_intercept):
|
|
|
161
161
|
if queue and queue.sycl_device.is_gpu and not daal_check_version((2025, "P", 200)):
|
|
162
162
|
pytest.skip("Functionality introduced in later versions")
|
|
163
163
|
gen = np.random.default_rng(seed=123)
|
|
164
|
-
X = gen.standard_normal(size=(10, 20))
|
|
165
|
-
y = gen.standard_normal(size=X.shape[0])
|
|
164
|
+
X = gen.standard_normal(size=(10, 20)).astype(dtype)
|
|
165
|
+
y = gen.standard_normal(size=X.shape[0]).astype(dtype)
|
|
166
166
|
|
|
167
167
|
model = LinearRegression(fit_intercept=fit_intercept).fit(X, y)
|
|
168
168
|
if not fit_intercept:
|
|
169
169
|
A = X.T @ X
|
|
170
170
|
b = X.T @ y
|
|
171
|
-
x = model.coef_
|
|
171
|
+
x = np.squeeze(model.coef_)
|
|
172
172
|
else:
|
|
173
173
|
Xi = np.c_[X, np.ones((X.shape[0], 1))]
|
|
174
174
|
A = Xi.T @ Xi
|
|
175
175
|
b = Xi.T @ y
|
|
176
|
-
x = np.r_[model.coef_, model.intercept_]
|
|
176
|
+
x = np.r_[np.squeeze(model.coef_), model.intercept_]
|
|
177
177
|
residual = A @ x - b
|
|
178
|
-
assert np.all(np.abs(residual) < 1e-6)
|
|
178
|
+
assert np.all(np.abs(residual) < (1e-6 if dtype is np.float64 else 1e-5))
|
|
179
179
|
|
|
180
180
|
|
|
181
181
|
@pytest.mark.parametrize("queue", get_queues())
|
|
@@ -189,22 +189,22 @@ def test_singular_matrix(queue, dtype, fit_intercept):
|
|
|
189
189
|
if queue and queue.sycl_device.is_gpu and not daal_check_version((2025, "P", 200)):
|
|
190
190
|
pytest.skip("Functionality introduced in later versions")
|
|
191
191
|
gen = np.random.default_rng(seed=123)
|
|
192
|
-
X = gen.standard_normal(size=(20, 4))
|
|
192
|
+
X = gen.standard_normal(size=(20, 4)).astype(dtype)
|
|
193
193
|
X[:, 2] = X[:, 3]
|
|
194
|
-
y = gen.standard_normal(size=X.shape[0])
|
|
194
|
+
y = gen.standard_normal(size=X.shape[0]).astype(dtype)
|
|
195
195
|
|
|
196
196
|
model = LinearRegression(fit_intercept=fit_intercept).fit(X, y)
|
|
197
197
|
if not fit_intercept:
|
|
198
198
|
A = X.T @ X
|
|
199
199
|
b = X.T @ y
|
|
200
|
-
x = model.coef_
|
|
200
|
+
x = np.squeeze(model.coef_)
|
|
201
201
|
else:
|
|
202
202
|
Xi = np.c_[X, np.ones((X.shape[0], 1))]
|
|
203
203
|
A = Xi.T @ Xi
|
|
204
204
|
b = Xi.T @ y
|
|
205
|
-
x = np.r_[model.coef_, model.intercept_]
|
|
205
|
+
x = np.r_[np.squeeze(model.coef_), model.intercept_]
|
|
206
206
|
residual = A @ x - b
|
|
207
|
-
assert np.all(np.abs(residual) < 1e-6)
|
|
207
|
+
assert np.all(np.abs(residual) < (1e-6 if dtype is np.float64 else 1e-5))
|
|
208
208
|
|
|
209
209
|
|
|
210
210
|
@pytest.mark.parametrize("queue", get_queues())
|
|
@@ -250,10 +250,3 @@ def test_multioutput_regression(queue, dtype, fit_intercept, problem_type):
|
|
|
250
250
|
expected_pred = X @ model.coef_.T + model.intercept_.reshape((1, -1))
|
|
251
251
|
tol = 1e-5 if pred.dtype == np.float32 else 1e-7
|
|
252
252
|
assert_allclose(pred, expected_pred, rtol=tol)
|
|
253
|
-
|
|
254
|
-
# check that it also works when 'y' is a list of lists
|
|
255
|
-
Y_lists = Y.tolist()
|
|
256
|
-
model_lists = LinearRegression(fit_intercept=fit_intercept).fit(X, Y_lists)
|
|
257
|
-
assert_allclose(model.coef_, model_lists.coef_)
|
|
258
|
-
if fit_intercept:
|
|
259
|
-
assert_allclose(model.intercept_, model_lists.intercept_)
|
|
@@ -296,6 +296,7 @@ class NeighborsBase(NeighborsCommonBase, metaclass=ABCMeta):
|
|
|
296
296
|
return result
|
|
297
297
|
|
|
298
298
|
def _kneighbors(self, X=None, n_neighbors=None, return_distance=True):
|
|
299
|
+
use_raw_input = _get_config().get("use_raw_input", False) is True
|
|
299
300
|
n_features = getattr(self, "n_features_in_", None)
|
|
300
301
|
shape = getattr(X, "shape", None)
|
|
301
302
|
if n_features and shape and len(shape) > 1 and shape[1] != n_features:
|
|
@@ -322,7 +323,8 @@ class NeighborsBase(NeighborsCommonBase, metaclass=ABCMeta):
|
|
|
322
323
|
|
|
323
324
|
if X is not None:
|
|
324
325
|
query_is_train = False
|
|
325
|
-
|
|
326
|
+
if not use_raw_input:
|
|
327
|
+
X = _check_array(X, accept_sparse="csr", dtype=[np.float64, np.float32])
|
|
326
328
|
else:
|
|
327
329
|
query_is_train = True
|
|
328
330
|
X = self._fit_X
|
|
@@ -730,7 +732,6 @@ class NearestNeighbors(NeighborsBase):
|
|
|
730
732
|
self,
|
|
731
733
|
n_neighbors=5,
|
|
732
734
|
*,
|
|
733
|
-
weights="uniform",
|
|
734
735
|
algorithm="auto",
|
|
735
736
|
p=2,
|
|
736
737
|
metric="minkowski",
|
|
@@ -745,7 +746,7 @@ class NearestNeighbors(NeighborsBase):
|
|
|
745
746
|
metric_params=metric_params,
|
|
746
747
|
**kwargs,
|
|
747
748
|
)
|
|
748
|
-
self.
|
|
749
|
+
self.requires_y = False
|
|
749
750
|
|
|
750
751
|
@bind_default_backend("neighbors.search")
|
|
751
752
|
def train(self, *args, **kwargs): ...
|
|
@@ -792,7 +793,7 @@ class NearestNeighbors(NeighborsBase):
|
|
|
792
793
|
return self.infer(params, model, X)
|
|
793
794
|
|
|
794
795
|
@supports_queue
|
|
795
|
-
def fit(self, X, y, queue=None):
|
|
796
|
+
def fit(self, X, y=None, queue=None):
|
|
796
797
|
return self._fit(X, y)
|
|
797
798
|
|
|
798
799
|
@supports_queue
|
|
@@ -18,6 +18,8 @@ import importlib
|
|
|
18
18
|
import os
|
|
19
19
|
from glob import glob
|
|
20
20
|
|
|
21
|
+
from onedal.tests.utils._dataframes_support import test_frameworks
|
|
22
|
+
|
|
21
23
|
|
|
22
24
|
def _check_primitive_usage_ban(primitive_name, package, allowed_locations=None):
|
|
23
25
|
"""This test blocks the usage of the primitive in
|
|
@@ -55,3 +57,15 @@ def test_sklearn_check_version_ban():
|
|
|
55
57
|
# remove this file from the list
|
|
56
58
|
output = "\n".join([i for i in output if "test_common.py" not in i])
|
|
57
59
|
assert output == "", f"sklearn versioning is occurring in: \n{output}"
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def test_frameworks_intentionality():
|
|
63
|
+
"""Only silent skip frameworks which are not installed"""
|
|
64
|
+
fmwks = test_frameworks.replace("array_api", "array_api_strict").split(",")
|
|
65
|
+
for module in fmwks:
|
|
66
|
+
try:
|
|
67
|
+
importlib.import_module(module)
|
|
68
|
+
# If a module isn't installed, working as intended.
|
|
69
|
+
# If an ImportError occurs, then something is wrong.
|
|
70
|
+
except ModuleNotFoundError:
|
|
71
|
+
pass
|
|
@@ -20,6 +20,7 @@ from collections.abc import Iterable
|
|
|
20
20
|
from functools import lru_cache
|
|
21
21
|
|
|
22
22
|
import numpy as np
|
|
23
|
+
import scipy.sparse as sp
|
|
23
24
|
|
|
24
25
|
from ..utils._third_party import _is_subclass_fast
|
|
25
26
|
|
|
@@ -44,6 +45,8 @@ def _asarray(data, xp, *args, **kwargs):
|
|
|
44
45
|
for i in range(len(data)):
|
|
45
46
|
result_data.append(_asarray(data[i], xp, *args, **kwargs))
|
|
46
47
|
data = tuple(result_data)
|
|
48
|
+
elif sp.issparse(data):
|
|
49
|
+
pass
|
|
47
50
|
else:
|
|
48
51
|
for i in range(len(data)):
|
|
49
52
|
data[i] = _asarray(data[i], xp, *args, **kwargs)
|
|
@@ -15,9 +15,13 @@
|
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
17
|
from contextlib import contextmanager
|
|
18
|
+
from types import SimpleNamespace
|
|
19
|
+
|
|
20
|
+
from onedal import _default_backend as backend
|
|
18
21
|
|
|
19
22
|
from .._config import _get_config
|
|
20
|
-
from
|
|
23
|
+
from ..datatypes import get_torch_queue
|
|
24
|
+
from ._third_party import SyclQueue, is_torch_tensor
|
|
21
25
|
|
|
22
26
|
# This special object signifies that the queue system should be
|
|
23
27
|
# disabled. It will force computation to host. This occurs when the
|
|
@@ -26,10 +30,15 @@ from ._third_party import SyclQueue
|
|
|
26
30
|
__fallback_queue = object()
|
|
27
31
|
# single instance of global queue
|
|
28
32
|
__global_queue = None
|
|
33
|
+
# dictionary of generic SYCL queues with default SYCL contexts for
|
|
34
|
+
# reuse
|
|
35
|
+
__dlpack_queue = {}
|
|
36
|
+
# Special queue for non-CPU, non-SYCL data associated with dlpack
|
|
37
|
+
__non_queue = SimpleNamespace(sycl_device=SimpleNamespace(is_cpu=False))
|
|
29
38
|
|
|
30
39
|
|
|
31
40
|
def __create_sycl_queue(target):
|
|
32
|
-
if isinstance(target, SyclQueue) or target is None:
|
|
41
|
+
if isinstance(target, SyclQueue) or target is None or target is __non_queue:
|
|
33
42
|
return target
|
|
34
43
|
if isinstance(target, (str, int)):
|
|
35
44
|
return SyclQueue(target)
|
|
@@ -48,11 +57,8 @@ def get_global_queue():
|
|
|
48
57
|
signifies computation on host.
|
|
49
58
|
"""
|
|
50
59
|
if (queue := __global_queue) is not None:
|
|
51
|
-
if
|
|
52
|
-
|
|
53
|
-
return None
|
|
54
|
-
elif not isinstance(queue, SyclQueue):
|
|
55
|
-
raise ValueError("Global queue is not a SyclQueue object.")
|
|
60
|
+
if queue is __fallback_queue:
|
|
61
|
+
return None
|
|
56
62
|
return queue
|
|
57
63
|
|
|
58
64
|
target = _get_config()["target_offload"]
|
|
@@ -91,6 +97,32 @@ def fallback_to_host():
|
|
|
91
97
|
__global_queue = __fallback_queue
|
|
92
98
|
|
|
93
99
|
|
|
100
|
+
def _get_dlpack_queue(obj: object) -> SyclQueue:
|
|
101
|
+
# users should not require direct use of this
|
|
102
|
+
device_type, device_id = obj.__dlpack_device__()
|
|
103
|
+
if device_type == backend.kDLCPU:
|
|
104
|
+
return None
|
|
105
|
+
elif device_type != backend.kDLOneAPI:
|
|
106
|
+
# Data exists on a non-SYCL, non-CPU device. This will trigger an error
|
|
107
|
+
# or a fallback if "fallback_to_host" is set in the config
|
|
108
|
+
return __non_queue
|
|
109
|
+
|
|
110
|
+
if is_torch_tensor(obj):
|
|
111
|
+
return get_torch_queue(obj)
|
|
112
|
+
else:
|
|
113
|
+
# no specialized queue can be extracted. Use or generate a generic. Note,
|
|
114
|
+
# this will behave in unexpected ways for non-default SYCL contexts or
|
|
115
|
+
# with SYCL sub-devices due to limitations in the dlpack standard (not
|
|
116
|
+
# enough info).
|
|
117
|
+
try:
|
|
118
|
+
queue = __dlpack_queue[device_id]
|
|
119
|
+
except KeyError:
|
|
120
|
+
# use filter string capability to yield a queue
|
|
121
|
+
queue = SyclQueue(str(device_id))
|
|
122
|
+
__dlpack_queue[device_id] = queue
|
|
123
|
+
return queue
|
|
124
|
+
|
|
125
|
+
|
|
94
126
|
def from_data(*data):
|
|
95
127
|
"""Extract the queue from provided data.
|
|
96
128
|
|
|
@@ -109,27 +141,18 @@ def from_data(*data):
|
|
|
109
141
|
"""
|
|
110
142
|
for item in data:
|
|
111
143
|
# iterate through all data objects, extract the queue, and verify that all data objects are on the same device
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
if usm_iface is None:
|
|
123
|
-
# no interface found - try next data object
|
|
144
|
+
if usm_iface := getattr(item, "__sycl_usm_array_interface__", None):
|
|
145
|
+
data_queue = usm_iface["syclobj"]
|
|
146
|
+
elif hasattr(item, "__dlpack_device__"):
|
|
147
|
+
data_queue = _get_dlpack_queue(item)
|
|
148
|
+
else:
|
|
149
|
+
data_queue = None
|
|
150
|
+
|
|
151
|
+
# no queue, i.e. host data, no more work to do
|
|
152
|
+
if data_queue is None:
|
|
124
153
|
continue
|
|
125
154
|
|
|
126
|
-
# extract the queue
|
|
127
155
|
global_queue = get_global_queue()
|
|
128
|
-
data_queue = usm_iface["syclobj"]
|
|
129
|
-
if not data_queue:
|
|
130
|
-
# no queue, i.e. host data, no more work to do
|
|
131
|
-
continue
|
|
132
|
-
|
|
133
156
|
# update the global queue if not set
|
|
134
157
|
if global_queue is None:
|
|
135
158
|
update_global_queue(data_queue)
|
|
@@ -139,6 +162,9 @@ def from_data(*data):
|
|
|
139
162
|
data_dev = data_queue.sycl_device
|
|
140
163
|
global_dev = global_queue.sycl_device
|
|
141
164
|
if (data_dev and global_dev) is not None and data_dev != global_dev:
|
|
165
|
+
# when all data exists on other devices (e.g. not CPU or SYCL devices)
|
|
166
|
+
# failure will come in backend selection occurring in
|
|
167
|
+
# sklearnex._device_offload._get_backend when using __non_queue
|
|
142
168
|
raise ValueError(
|
|
143
169
|
"Data objects are located on different target devices or not on selected device."
|
|
144
170
|
)
|
|
@@ -120,6 +120,37 @@ def lazy_import(*module_names: str) -> Callable:
|
|
|
120
120
|
return decorator
|
|
121
121
|
|
|
122
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
|
+
|
|
123
154
|
@functools.lru_cache(100)
|
|
124
155
|
def _is_subclass_fast(cls: type, modname: str, clsname: str) -> bool:
|
|
125
156
|
# Taken directly from array_api_compat.common._helpers to use for
|
|
@@ -154,8 +185,8 @@ def is_dpnp_ndarray(x: object) -> bool:
|
|
|
154
185
|
def is_dpctl_tensor(x: object) -> bool:
|
|
155
186
|
"""Return True if 'x' is a dpctl usm_ndarray.
|
|
156
187
|
|
|
157
|
-
This function does not import
|
|
158
|
-
and is therefore cheap to use.
|
|
188
|
+
This function does not import dpctl.tensor if it has not already been
|
|
189
|
+
imported and is therefore cheap to use.
|
|
159
190
|
|
|
160
191
|
Parameters
|
|
161
192
|
----------
|
|
@@ -168,3 +199,22 @@ def is_dpctl_tensor(x: object) -> bool:
|
|
|
168
199
|
Flag if subclass of dpctl.tensor.usm_ndarray.
|
|
169
200
|
"""
|
|
170
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")
|
|
@@ -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")
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
17
|
from contextlib import contextmanager
|
|
18
|
-
from os import environ
|
|
19
18
|
|
|
20
19
|
from sklearn import get_config as skl_get_config
|
|
21
20
|
from sklearn import set_config as skl_set_config
|
|
@@ -96,10 +95,6 @@ def set_config(
|
|
|
96
95
|
will raise an error.
|
|
97
96
|
"""
|
|
98
97
|
|
|
99
|
-
array_api_dispatch = sklearn_configs.get("array_api_dispatch", False)
|
|
100
|
-
if array_api_dispatch and sklearn_check_version("1.6"):
|
|
101
|
-
environ["SCIPY_ARRAY_API"] = "1"
|
|
102
|
-
|
|
103
98
|
skl_set_config(**sklearn_configs)
|
|
104
99
|
|
|
105
100
|
local_config = onedal_get_config(copy=False)
|
|
@@ -49,14 +49,16 @@ def _get_backend(
|
|
|
49
49
|
|
|
50
50
|
if gpu_device:
|
|
51
51
|
patching_status = obj._onedal_gpu_supported(method_name, *data)
|
|
52
|
-
if (
|
|
53
|
-
not patching_status.get_status()
|
|
54
|
-
and (config := get_config())["allow_fallback_to_host"]
|
|
55
|
-
):
|
|
52
|
+
if not patching_status.get_status() and get_config()["allow_fallback_to_host"]:
|
|
56
53
|
QM.fallback_to_host()
|
|
57
54
|
return None, patching_status
|
|
58
55
|
return patching_status.get_status(), patching_status
|
|
59
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
|
|
60
62
|
raise RuntimeError("Device support is not implemented for the supplied data type.")
|
|
61
63
|
|
|
62
64
|
|
|
@@ -119,12 +121,9 @@ def dispatch(
|
|
|
119
121
|
# backend can only be a boolean or None, None signifies an unverified backend
|
|
120
122
|
backend: "bool | None" = None
|
|
121
123
|
|
|
122
|
-
#
|
|
123
|
-
#
|
|
124
|
-
#
|
|
125
|
-
# so that later use of get_global_queue only sends to host. We must modify
|
|
126
|
-
# the target offload settings, but we must also set the original value at the
|
|
127
|
-
# 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``
|
|
128
127
|
with QM.manage_global_queue(None, *args):
|
|
129
128
|
if onedal_array_api:
|
|
130
129
|
backend, patching_status = _get_backend(obj, method_name, *args)
|
|
@@ -183,8 +182,10 @@ def wrap_output_data(func: Callable) -> Callable:
|
|
|
183
182
|
result = func(self, *args, **kwargs)
|
|
184
183
|
if not (len(args) == 0 and len(kwargs) == 0):
|
|
185
184
|
data = (*args, *kwargs.values())[0]
|
|
186
|
-
|
|
187
|
-
if
|
|
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__"):
|
|
188
189
|
queue = usm_iface["syclobj"]
|
|
189
190
|
return (
|
|
190
191
|
copy_to_dpnp(queue, result)
|
|
@@ -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
|
|
@@ -121,12 +127,15 @@ def get_sklearnex_version(rule):
|
|
|
121
127
|
def register_hyperparameters(hyperparameters_map):
|
|
122
128
|
"""Decorator for hyperparameters support in estimator class.
|
|
123
129
|
|
|
124
|
-
Adds `get_hyperparameters`
|
|
130
|
+
Adds `get_hyperparameters` and `reset_hyperparameters` methods to class.
|
|
125
131
|
|
|
126
132
|
Parameters
|
|
127
133
|
----------
|
|
128
|
-
hyperparameters_map :
|
|
129
|
-
Dictionary containing the operator
|
|
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.
|
|
130
139
|
|
|
131
140
|
Returns
|
|
132
141
|
-------
|
|
@@ -159,9 +168,27 @@ def register_hyperparameters(hyperparameters_map):
|
|
|
159
168
|
return self.get_hyperparameters
|
|
160
169
|
|
|
161
170
|
def get_hyperparameters(self, op):
|
|
162
|
-
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
|
+
)
|
|
163
189
|
|
|
164
190
|
cls.get_hyperparameters = StaticHyperparametersAccessor()
|
|
191
|
+
cls.reset_hyperparameters = StaticHyperparametersResetter()
|
|
165
192
|
return cls
|
|
166
193
|
|
|
167
194
|
return decorator
|
|
@@ -16,26 +16,26 @@
|
|
|
16
16
|
|
|
17
17
|
import warnings
|
|
18
18
|
|
|
19
|
-
import numpy as np
|
|
20
19
|
from scipy.sparse import issparse
|
|
21
20
|
from sklearn.base import BaseEstimator
|
|
22
|
-
from sklearn.utils import check_array
|
|
23
|
-
from sklearn.utils.validation import _check_sample_weight
|
|
24
21
|
|
|
25
22
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
26
23
|
from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
|
|
27
24
|
from onedal.basic_statistics import BasicStatistics as onedal_BasicStatistics
|
|
28
25
|
from onedal.utils.validation import _is_csr
|
|
29
26
|
|
|
27
|
+
from .._config import get_config
|
|
30
28
|
from .._device_offload import dispatch
|
|
31
29
|
from .._utils import PatchingConditionsChain
|
|
32
30
|
from ..base import oneDALEstimator
|
|
33
|
-
from ..utils.
|
|
31
|
+
from ..utils._array_api import enable_array_api, get_namespace
|
|
32
|
+
from ..utils.validation import _check_sample_weight, validate_data
|
|
34
33
|
|
|
35
34
|
if sklearn_check_version("1.2"):
|
|
36
35
|
from sklearn.utils._param_validation import StrOptions
|
|
37
36
|
|
|
38
37
|
|
|
38
|
+
@enable_array_api
|
|
39
39
|
@control_n_jobs(decorated_methods=["fit"])
|
|
40
40
|
class BasicStatistics(oneDALEstimator, BaseEstimator):
|
|
41
41
|
"""
|
|
@@ -126,30 +126,16 @@ class BasicStatistics(oneDALEstimator, BaseEstimator):
|
|
|
126
126
|
|
|
127
127
|
def _save_attributes(self):
|
|
128
128
|
assert hasattr(self, "_onedal_estimator")
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
else:
|
|
133
|
-
result_options = self.result_options
|
|
134
|
-
|
|
135
|
-
if isinstance(result_options, str):
|
|
136
|
-
setattr(
|
|
137
|
-
self,
|
|
138
|
-
result_options + "_",
|
|
139
|
-
getattr(self._onedal_estimator, result_options),
|
|
140
|
-
)
|
|
141
|
-
elif isinstance(result_options, list):
|
|
142
|
-
for option in result_options:
|
|
143
|
-
setattr(self, option + "_", getattr(self._onedal_estimator, option))
|
|
129
|
+
for option in self._onedal_estimator.options:
|
|
130
|
+
option += "_"
|
|
131
|
+
setattr(self, option, getattr(self._onedal_estimator, option))
|
|
144
132
|
|
|
145
133
|
def __getattr__(self, attr):
|
|
146
|
-
if self.result_options == "all":
|
|
147
|
-
result_options = onedal_BasicStatistics.get_all_result_options()
|
|
148
|
-
else:
|
|
149
|
-
result_options = self.result_options
|
|
150
134
|
is_deprecated_attr = (
|
|
151
|
-
|
|
152
|
-
|
|
135
|
+
attr in self._onedal_estimator.options
|
|
136
|
+
if "_onedal_estimator" in self.__dict__
|
|
137
|
+
else False
|
|
138
|
+
)
|
|
153
139
|
if is_deprecated_attr:
|
|
154
140
|
warnings.warn(
|
|
155
141
|
"Result attributes without a trailing underscore were deprecated in version 2025.1 and will be removed in 2026.0"
|
|
@@ -195,19 +181,20 @@ class BasicStatistics(oneDALEstimator, BaseEstimator):
|
|
|
195
181
|
return patching_status
|
|
196
182
|
|
|
197
183
|
def _onedal_fit(self, X, sample_weight=None, queue=None):
|
|
198
|
-
if
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
)
|
|
184
|
+
if not get_config()["use_raw_input"]:
|
|
185
|
+
xp, _ = get_namespace(X, sample_weight)
|
|
186
|
+
X = validate_data(
|
|
187
|
+
self,
|
|
188
|
+
X,
|
|
189
|
+
dtype=[xp.float64, xp.float32],
|
|
190
|
+
ensure_2d=False,
|
|
191
|
+
accept_sparse="csr",
|
|
192
|
+
)
|
|
208
193
|
|
|
209
|
-
|
|
210
|
-
|
|
194
|
+
if sample_weight is not None:
|
|
195
|
+
sample_weight = _check_sample_weight(
|
|
196
|
+
sample_weight, X, dtype=[xp.float64, xp.float32]
|
|
197
|
+
)
|
|
211
198
|
|
|
212
199
|
onedal_params = {
|
|
213
200
|
"result_options": self.result_options,
|
|
@@ -239,6 +226,8 @@ class BasicStatistics(oneDALEstimator, BaseEstimator):
|
|
|
239
226
|
self : object
|
|
240
227
|
Returns the instance itself.
|
|
241
228
|
"""
|
|
229
|
+
if sklearn_check_version("1.2"):
|
|
230
|
+
self._validate_params()
|
|
242
231
|
dispatch(
|
|
243
232
|
self,
|
|
244
233
|
"fit",
|