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
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
17
|
import logging
|
|
18
|
-
from typing import
|
|
18
|
+
from typing import Callable, Dict, Tuple
|
|
19
19
|
from warnings import warn
|
|
20
20
|
|
|
21
21
|
from daal4py.sklearn._utils import daal_check_version
|
|
@@ -94,22 +94,26 @@ else:
|
|
|
94
94
|
for method in filter(lambda f: f.startswith(prefix), dir(obj))
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
hyperparameters_backend: Dict[Tuple[str, str],
|
|
97
|
+
hyperparameters_backend: Dict[Tuple[str, str], Callable] = {
|
|
98
98
|
(
|
|
99
99
|
"linear_regression",
|
|
100
100
|
"train",
|
|
101
|
-
): backend.linear_model.regression.train_hyperparameters(),
|
|
102
|
-
("covariance", "compute"): backend.covariance.compute_hyperparameters(),
|
|
101
|
+
): lambda: backend.linear_model.regression.train_hyperparameters(),
|
|
102
|
+
("covariance", "compute"): lambda: backend.covariance.compute_hyperparameters(),
|
|
103
103
|
}
|
|
104
104
|
if daal_check_version((2024, "P", 300)):
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
hyperparameters_backend[("decision_forest", "infer")] = (
|
|
106
|
+
lambda: backend.decision_forest.infer_hyperparameters()
|
|
107
|
+
)
|
|
107
108
|
if daal_check_version((2025, "P", 700)):
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
hyperparameters_backend[("pca", "train")] = (
|
|
110
|
+
lambda: backend.decomposition.dim_reduction.train_hyperparameters()
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
hyperparameters_map: Dict[Tuple[str, str], HyperParameters] = {}
|
|
111
114
|
|
|
112
|
-
for (algorithm, op),
|
|
115
|
+
for (algorithm, op), hyperparameters_lambda in hyperparameters_backend.items():
|
|
116
|
+
hyperparameters = hyperparameters_lambda()
|
|
113
117
|
setters = get_methods_with_prefix(hyperparameters, "set_")
|
|
114
118
|
getters = get_methods_with_prefix(hyperparameters, "get_")
|
|
115
119
|
|
|
@@ -123,6 +127,22 @@ else:
|
|
|
123
127
|
algorithm, op, setters, getters, hyperparameters
|
|
124
128
|
)
|
|
125
129
|
|
|
130
|
+
def get_hyperparameters_backend(algorithm, op):
|
|
131
|
+
"""Get hyperparameters for a specific algorithm and operation."""
|
|
132
|
+
if (algorithm, op) in hyperparameters_backend:
|
|
133
|
+
return hyperparameters_backend[(algorithm, op)]()
|
|
134
|
+
else:
|
|
135
|
+
raise ValueError(f"Hyperparameters for '{algorithm}.{op}' are not defined.")
|
|
126
136
|
|
|
127
|
-
|
|
137
|
+
|
|
138
|
+
def get_hyperparameters(algorithm: str, op: str) -> HyperParameters:
|
|
128
139
|
return hyperparameters_map.get((algorithm, op), None)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def reset_hyperparameters(algorithm: str, op: str) -> None:
|
|
143
|
+
new_hyperparameters_backend = get_hyperparameters_backend(algorithm, op)
|
|
144
|
+
new_setters = get_methods_with_prefix(new_hyperparameters_backend, "set_")
|
|
145
|
+
new_getters = get_methods_with_prefix(new_hyperparameters_backend, "get_")
|
|
146
|
+
hyperparameters_map[(algorithm, op)] = HyperParameters(
|
|
147
|
+
algorithm, op, new_setters, new_getters, new_hyperparameters_backend
|
|
148
|
+
)
|
|
@@ -117,6 +117,8 @@ def test_backend_queue():
|
|
|
117
117
|
q2 = backend.SyclQueue(q._get_capsule())
|
|
118
118
|
# verify copying via the _get_capsule attribute
|
|
119
119
|
q3 = backend.SyclQueue(q)
|
|
120
|
+
# create new queue on the same device for device checks
|
|
121
|
+
q4 = backend.SyclQueue("cpu")
|
|
120
122
|
|
|
121
123
|
q_array = [q, q2, q3]
|
|
122
124
|
|
|
@@ -125,6 +127,9 @@ def test_backend_queue():
|
|
|
125
127
|
assert all([queue.sycl_device.is_cpu for queue in q_array])
|
|
126
128
|
assert all([not queue.sycl_device.is_gpu for queue in q_array])
|
|
127
129
|
assert all(["cpu" in queue.sycl_device.filter_string for queue in q_array])
|
|
130
|
+
assert q.sycl_device == q4.sycl_device # verify that __eq__ operator works
|
|
131
|
+
assert not (q.sycl_device != q4.sycl_device) # verify that __ne__ operator works
|
|
132
|
+
assert q != q4 # verify two separate cpu queues created
|
|
128
133
|
|
|
129
134
|
|
|
130
135
|
@pytest.mark.skipif(
|
|
@@ -20,7 +20,6 @@ import numpy as np
|
|
|
20
20
|
from daal4py.sklearn._utils import daal_check_version
|
|
21
21
|
from onedal._device_offload import supports_queue
|
|
22
22
|
from onedal.common._backend import bind_default_backend
|
|
23
|
-
from onedal.utils.validation import _check_array
|
|
24
23
|
|
|
25
24
|
from .._config import _get_config
|
|
26
25
|
from ..common.hyperparameters import get_hyperparameters
|
|
@@ -101,30 +100,22 @@ class EmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
101
100
|
self : object
|
|
102
101
|
Returns the instance itself.
|
|
103
102
|
"""
|
|
104
|
-
use_raw_input = _get_config()["use_raw_input"] is True
|
|
105
|
-
sua_iface, _, _ = _get_sycl_namespace(X)
|
|
106
|
-
if use_raw_input and sua_iface:
|
|
107
|
-
queue = X.sycl_queue
|
|
108
103
|
|
|
109
|
-
|
|
110
|
-
X = _check_array(X, dtype=[np.float64, np.float32])
|
|
111
|
-
X = to_table(X, queue=queue)
|
|
104
|
+
X_table = to_table(X, queue=queue)
|
|
112
105
|
|
|
113
|
-
params = self._get_onedal_params(
|
|
106
|
+
params = self._get_onedal_params(X_table.dtype)
|
|
114
107
|
hparams = get_hyperparameters("covariance", "compute")
|
|
115
108
|
if hparams is not None and not hparams.is_default:
|
|
116
|
-
result = self.compute(params, hparams.backend,
|
|
109
|
+
result = self.compute(params, hparams.backend, X_table)
|
|
117
110
|
else:
|
|
118
|
-
result = self.compute(params,
|
|
111
|
+
result = self.compute(params, X_table)
|
|
119
112
|
if daal_check_version((2024, "P", 1)) or (not self.bias):
|
|
120
|
-
self.covariance_ = from_table(result.cov_matrix,
|
|
113
|
+
self.covariance_ = from_table(result.cov_matrix, like=X)
|
|
121
114
|
else:
|
|
122
115
|
self.covariance_ = (
|
|
123
|
-
from_table(result.cov_matrix,
|
|
124
|
-
* (X.shape[0] - 1)
|
|
125
|
-
/ X.shape[0]
|
|
116
|
+
from_table(result.cov_matrix, like=X) * (X.shape[0] - 1) / X.shape[0]
|
|
126
117
|
)
|
|
127
118
|
|
|
128
|
-
self.location_ = from_table(result.means,
|
|
119
|
+
self.location_ = from_table(result.means, like=X)[0, ...]
|
|
129
120
|
|
|
130
121
|
return self
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
|
|
19
19
|
from daal4py.sklearn._utils import daal_check_version
|
|
20
|
-
from onedal._device_offload import supports_queue
|
|
21
|
-
from onedal.common._backend import bind_default_backend
|
|
22
|
-
from onedal.utils import _sycl_queue_manager as QM
|
|
23
20
|
|
|
24
21
|
from .._config import _get_config
|
|
25
|
-
from ..
|
|
22
|
+
from .._device_offload import supports_queue
|
|
23
|
+
from ..common._backend import bind_default_backend
|
|
24
|
+
from ..datatypes import from_table, return_type_constructor, to_table
|
|
25
|
+
from ..utils import _sycl_queue_manager as QM
|
|
26
26
|
from ..utils._array_api import _get_sycl_namespace
|
|
27
27
|
from ..utils.validation import _check_array
|
|
28
28
|
from .covariance import BaseEmpiricalCovariance
|
|
@@ -74,6 +74,7 @@ class IncrementalEmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
74
74
|
def _reset(self):
|
|
75
75
|
self._need_to_finalize = False
|
|
76
76
|
self._queue = None
|
|
77
|
+
self._outtype = None
|
|
77
78
|
self._partial_result = self.partial_compute_result()
|
|
78
79
|
|
|
79
80
|
def __getstate__(self):
|
|
@@ -108,15 +109,10 @@ class IncrementalEmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
108
109
|
self : object
|
|
109
110
|
Returns the instance itself.
|
|
110
111
|
"""
|
|
111
|
-
use_raw_input = _get_config()["use_raw_input"] is True
|
|
112
|
-
sua_iface, _, _ = _get_sycl_namespace(X)
|
|
113
|
-
|
|
114
|
-
if use_raw_input and sua_iface:
|
|
115
|
-
queue = X.sycl_queue
|
|
116
|
-
if not use_raw_input:
|
|
117
|
-
X = _check_array(X, dtype=[np.float64, np.float32], ensure_2d=True)
|
|
118
112
|
|
|
119
113
|
self._queue = queue
|
|
114
|
+
if not self._outtype:
|
|
115
|
+
self._outtype = return_type_constructor(X)
|
|
120
116
|
X_table = to_table(X, queue=queue)
|
|
121
117
|
|
|
122
118
|
if not hasattr(self, "_dtype"):
|
|
@@ -125,8 +121,6 @@ class IncrementalEmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
125
121
|
params = self._get_onedal_params(self._dtype)
|
|
126
122
|
self._partial_result = self.partial_compute(params, self._partial_result, X_table)
|
|
127
123
|
self._need_to_finalize = True
|
|
128
|
-
# store the queue for when we finalize
|
|
129
|
-
self._queue = queue
|
|
130
124
|
|
|
131
125
|
def finalize_fit(self):
|
|
132
126
|
"""Finalize covariance matrix from the current `_partial_result`.
|
|
@@ -143,13 +137,14 @@ class IncrementalEmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
143
137
|
with QM.manage_global_queue(self._queue):
|
|
144
138
|
result = self.finalize_compute(params, self._partial_result)
|
|
145
139
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
140
|
+
self.covariance_ = from_table(result.cov_matrix, like=self._outtype)
|
|
141
|
+
|
|
142
|
+
if self.bias and not daal_check_version((2024, "P", 1)):
|
|
149
143
|
n_rows = self._partial_result.partial_n_rows
|
|
150
|
-
self.covariance_
|
|
144
|
+
self.covariance_ *= (n_rows - 1) / n_rows
|
|
151
145
|
|
|
152
|
-
self.location_ = from_table(result.means
|
|
146
|
+
self.location_ = from_table(result.means, like=self._outtype)[0, ...]
|
|
147
|
+
self._outtype = None
|
|
153
148
|
|
|
154
149
|
self._need_to_finalize = False
|
|
155
150
|
|
|
@@ -25,7 +25,7 @@ from onedal.tests.utils._device_selection import get_queues
|
|
|
25
25
|
def test_onedal_import_covariance(queue):
|
|
26
26
|
from onedal.covariance import EmpiricalCovariance
|
|
27
27
|
|
|
28
|
-
X = np.array([[0, 1], [0, 1]])
|
|
28
|
+
X = np.array([[0, 1], [0, 1]], dtype=np.float64)
|
|
29
29
|
result = EmpiricalCovariance().fit(X, queue=queue)
|
|
30
30
|
expected_covariance = np.array([[0, 0], [0, 0]])
|
|
31
31
|
expected_means = np.array([0, 1])
|
|
@@ -33,7 +33,7 @@ def test_onedal_import_covariance(queue):
|
|
|
33
33
|
assert_allclose(expected_covariance, result.covariance_)
|
|
34
34
|
assert_allclose(expected_means, result.location_)
|
|
35
35
|
|
|
36
|
-
X = np.array([[1, 2], [3, 6]])
|
|
36
|
+
X = np.array([[1, 2], [3, 6]], dtype=np.float64)
|
|
37
37
|
result = EmpiricalCovariance().fit(X, queue=queue)
|
|
38
38
|
expected_covariance = np.array([[2, 4], [4, 8]])
|
|
39
39
|
expected_means = np.array([2, 4])
|
|
@@ -41,7 +41,7 @@ def test_onedal_import_covariance(queue):
|
|
|
41
41
|
assert_allclose(expected_covariance, result.covariance_)
|
|
42
42
|
assert_allclose(expected_means, result.location_)
|
|
43
43
|
|
|
44
|
-
X = np.array([[1, 2], [3, 6]])
|
|
44
|
+
X = np.array([[1, 2], [3, 6]], dtype=np.float64)
|
|
45
45
|
result = EmpiricalCovariance(bias=True).fit(X, queue=queue)
|
|
46
46
|
expected_covariance = np.array([[1, 2], [2, 4]])
|
|
47
47
|
expected_means = np.array([2, 4])
|
|
@@ -14,13 +14,16 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
-
from ._data_conversion import from_table, to_table
|
|
18
|
-
from .
|
|
17
|
+
from ._data_conversion import from_table, return_type_constructor, to_table
|
|
18
|
+
from ._dlpack import dlpack_to_numpy, get_torch_queue
|
|
19
|
+
from ._sycl_usm import copy_to_dpnp, copy_to_usm
|
|
19
20
|
|
|
20
21
|
__all__ = [
|
|
21
22
|
"copy_to_dpnp",
|
|
22
23
|
"copy_to_usm",
|
|
24
|
+
"dlpack_to_numpy",
|
|
23
25
|
"from_table",
|
|
26
|
+
"get_torch_queue",
|
|
24
27
|
"to_table",
|
|
25
|
-
"
|
|
28
|
+
"return_type_constructor",
|
|
26
29
|
]
|
scikit_learn_intelex-2025.9.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2021 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
|
+
import numpy as np
|
|
18
|
+
import scipy.sparse as sp
|
|
19
|
+
|
|
20
|
+
from onedal import _default_backend as backend
|
|
21
|
+
|
|
22
|
+
from ..utils._third_party import is_dpctl_tensor, is_dpnp_ndarray, lazy_import
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _apply_and_pass(func, *args, **kwargs):
|
|
26
|
+
if len(args) == 1:
|
|
27
|
+
return func(args[0], **kwargs)
|
|
28
|
+
return tuple(map(lambda arg: func(arg, **kwargs), args))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def _convert_one_to_table(arg, queue=None):
|
|
32
|
+
# All inputs for table conversion must be array-like or sparse, not scalars
|
|
33
|
+
return backend.to_table(np.atleast_2d(arg) if np.isscalar(arg) else arg, queue)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def to_table(*args, queue=None):
|
|
37
|
+
"""Create oneDAL tables from scalars and/or arrays.
|
|
38
|
+
|
|
39
|
+
Parameters
|
|
40
|
+
----------
|
|
41
|
+
*args : scalar, numpy array, sycl_usm_ndarray, csr_matrix, or csr_array
|
|
42
|
+
Arguments to be individually converted to oneDAL tables.
|
|
43
|
+
|
|
44
|
+
queue : SyclQueue or None, default=None
|
|
45
|
+
SYCL Queue object to be associated with the oneDAL tables. Default
|
|
46
|
+
value None causes no change in data location or queue.
|
|
47
|
+
|
|
48
|
+
Returns
|
|
49
|
+
-------
|
|
50
|
+
tables : oneDAL homogeneous or csr tables
|
|
51
|
+
Converted oneDAL tables for scalar, numpy array, sycl_usm_ndarray
|
|
52
|
+
and dlpack inputs; oneDAL csr_table for csr_matrix, csr_array.
|
|
53
|
+
|
|
54
|
+
Notes
|
|
55
|
+
-----
|
|
56
|
+
Tables will use pointers to the original array data. Scalars
|
|
57
|
+
and non-contiguous arrays will be copies. Arrays may be
|
|
58
|
+
modified in-place by oneDAL during computation. Transformation
|
|
59
|
+
is possible only for data located on CPU and SYCL-enabled Intel
|
|
60
|
+
GPUs. Each array may only be of a single data type (i.e. each
|
|
61
|
+
must be homogeneous).
|
|
62
|
+
"""
|
|
63
|
+
return _apply_and_pass(_convert_one_to_table, *args, queue=queue)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
@lazy_import("array_api_compat")
|
|
67
|
+
def _compat_convert(array_api_compat, array):
|
|
68
|
+
return array_api_compat.get_namespace(array).from_dlpack
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def return_type_constructor(array):
|
|
72
|
+
"""Generate a function for converting oneDAL tables to arrays.
|
|
73
|
+
|
|
74
|
+
Parameters
|
|
75
|
+
----------
|
|
76
|
+
array : array-like or None
|
|
77
|
+
Python object representing an array instance of the return type
|
|
78
|
+
for converting oneDAL tables. Arrays are queried for conversion
|
|
79
|
+
namespace when of sycl_usm_array type or array API standard type.
|
|
80
|
+
When set to None, will return numpy arrays or scipy csr arrays.
|
|
81
|
+
|
|
82
|
+
Returns
|
|
83
|
+
-------
|
|
84
|
+
func : callable
|
|
85
|
+
A function which takes in a single table input and returns an array.
|
|
86
|
+
"""
|
|
87
|
+
if isinstance(array, np.ndarray) or array is None or sp.issparse(array):
|
|
88
|
+
func = backend.from_table
|
|
89
|
+
elif hasattr(array, "__sycl_usm_array_interface__"):
|
|
90
|
+
# oneDAL returns tables without sycl queues for CPU sycl queue inputs.
|
|
91
|
+
# This workaround is necessary for the functional preservation
|
|
92
|
+
# of the compute-follows-data execution.
|
|
93
|
+
device = array.sycl_queue
|
|
94
|
+
# Its important to note why the __sycl_usm_array_interface__ is
|
|
95
|
+
# prioritized: it provides finer-grained control of SYCL queues and the
|
|
96
|
+
# related SYCL devices which are generally unavailable via DLPack
|
|
97
|
+
# representations (such as SYCL contexts, SYCL sub-devices, etc.).
|
|
98
|
+
xp = array.__array_namespace__()
|
|
99
|
+
# array api support added in dpnp starting in 0.19, will fail for
|
|
100
|
+
# older versions
|
|
101
|
+
if is_dpctl_tensor(array):
|
|
102
|
+
func = lambda x: (
|
|
103
|
+
xp.asarray(x)
|
|
104
|
+
if hasattr(x, "__sycl_usm_array_interface__")
|
|
105
|
+
else xp.asarray(backend.from_table(x), device=device)
|
|
106
|
+
)
|
|
107
|
+
elif is_dpnp_ndarray(array):
|
|
108
|
+
func = lambda x: (
|
|
109
|
+
xp.asarray(xp.as_usm_ndarray(x))
|
|
110
|
+
if hasattr(x, "__sycl_usm_array_interface__")
|
|
111
|
+
else xp.asarray(backend.from_table(x), device=device)
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
elif hasattr(array, "__array_namespace__"):
|
|
115
|
+
xp = array.__array_namespace__()
|
|
116
|
+
device = array.device
|
|
117
|
+
func = lambda inp: xp.from_dlpack(inp, device=device)
|
|
118
|
+
else:
|
|
119
|
+
try:
|
|
120
|
+
func = _compat_convert(array)
|
|
121
|
+
except ImportError:
|
|
122
|
+
raise TypeError(
|
|
123
|
+
"array type is unsupported, but may be made compatible by installing `array_api_compat`"
|
|
124
|
+
) from None
|
|
125
|
+
return func
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def from_table(*args, like=None):
|
|
129
|
+
"""Create 2 dimensional arrays from oneDAL tables.
|
|
130
|
+
|
|
131
|
+
oneDAL tables are converted to numpy ndarrays, dpctl tensors, dpnp
|
|
132
|
+
ndarrays, or array API standard arrays of designated type.
|
|
133
|
+
|
|
134
|
+
Parameters
|
|
135
|
+
----------
|
|
136
|
+
*args : single or multiple python oneDAL tables
|
|
137
|
+
The tables should given as individual arguments.
|
|
138
|
+
|
|
139
|
+
like : callable, array-like or None, default=None
|
|
140
|
+
Python object representing an array instance of the return type
|
|
141
|
+
or function capable of converting oneDAL tables into arrays of
|
|
142
|
+
desired type. Arrays are queried for conversion namespace when
|
|
143
|
+
of sycl_usm_array type or array API standard type. When set to
|
|
144
|
+
None, will return numpy arrays or scipy csr arrays.
|
|
145
|
+
|
|
146
|
+
Returns
|
|
147
|
+
-------
|
|
148
|
+
arrays : numpy arrays, sycl_usm_ndarrays, or array API standard arrays
|
|
149
|
+
Array or tuple of arrays generated from the input oneDAL tables.
|
|
150
|
+
|
|
151
|
+
Notes
|
|
152
|
+
-----
|
|
153
|
+
Support for other array types via array_api_compat is possible (e.g.
|
|
154
|
+
PyTorch), but requires its installation specifically, as it is imported
|
|
155
|
+
only when necessary.
|
|
156
|
+
"""
|
|
157
|
+
func = like if callable(like) else return_type_constructor(like)
|
|
158
|
+
return _apply_and_pass(func, *args)
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright Contributors to the oneDAL Project
|
|
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
|
+
from collections.abc import Iterable
|
|
18
|
+
|
|
19
|
+
import numpy as np
|
|
20
|
+
|
|
21
|
+
from onedal import _default_backend as backend
|
|
22
|
+
|
|
23
|
+
from ..utils._third_party import convert_sklearnex_queue, lazy_import
|
|
24
|
+
|
|
25
|
+
cpu_dlpack_device = (backend.kDLCPU, 0)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@lazy_import("torch.xpu")
|
|
29
|
+
@convert_sklearnex_queue
|
|
30
|
+
def get_torch_queue(torchxpu, array):
|
|
31
|
+
return backend.SyclQueue(torchxpu.current_stream(array.get_device()).sycl_queue)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def dlpack_to_numpy(obj):
|
|
35
|
+
# check dlpack data location.
|
|
36
|
+
if obj.__dlpack_device__() != cpu_dlpack_device:
|
|
37
|
+
if hasattr(obj, "to_device"):
|
|
38
|
+
# use of the "cpu" string as device not officially part of
|
|
39
|
+
# the array api standard but widely supported
|
|
40
|
+
obj = obj.to_device("cpu")
|
|
41
|
+
elif hasattr(obj, "to"):
|
|
42
|
+
# pytorch-specific fix as it is not array api compliant
|
|
43
|
+
obj = obj.to("cpu")
|
|
44
|
+
else:
|
|
45
|
+
raise TypeError(f"cannot move {type(obj)} to cpu")
|
|
46
|
+
|
|
47
|
+
# convert to numpy
|
|
48
|
+
try:
|
|
49
|
+
# Some frameworks implement an __array__ method just to
|
|
50
|
+
# throw a RuntimeError when used (array_api_strict, dpctl),
|
|
51
|
+
# or a TypeError (array_api-strict) rather than an AttributeError
|
|
52
|
+
# therefore a try catch is necessary (logic is essentially a
|
|
53
|
+
# getattr call + some)
|
|
54
|
+
obj = obj.__array__()
|
|
55
|
+
except (AttributeError, RuntimeError, TypeError):
|
|
56
|
+
# requires numpy 1.23
|
|
57
|
+
try:
|
|
58
|
+
obj = np.from_dlpack(obj)
|
|
59
|
+
except AttributeError:
|
|
60
|
+
raise NotImplementedError(
|
|
61
|
+
"Upgrade NumPy >= 1.23 for dlpack support"
|
|
62
|
+
) from None
|
|
63
|
+
|
|
64
|
+
return obj
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
from collections.abc import Iterable
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
|
+
import scipy.sparse as sp
|
|
20
21
|
|
|
21
22
|
from ..utils._third_party import lazy_import
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
@lazy_import("dpctl.memory", "dpctl.tensor")
|
|
25
|
-
def
|
|
26
|
+
def _array_to_usm(memory, tensor, queue, array):
|
|
26
27
|
try:
|
|
27
28
|
mem = memory.MemoryUSMDevice(array.nbytes, queue=queue)
|
|
28
29
|
mem.copy_from_host(array.tobytes())
|
|
@@ -37,7 +38,7 @@ def array_to_usm(memory, tensor, queue, array):
|
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
@lazy_import("dpnp", "dpctl.tensor")
|
|
40
|
-
def
|
|
41
|
+
def _to_dpnp(dpnp, tensor, array):
|
|
41
42
|
if isinstance(array, tensor.usm_ndarray):
|
|
42
43
|
return dpnp.array(array, copy=False)
|
|
43
44
|
else:
|
|
@@ -45,34 +46,18 @@ def to_dpnp(dpnp, tensor, array):
|
|
|
45
46
|
|
|
46
47
|
|
|
47
48
|
def copy_to_usm(queue, array):
|
|
48
|
-
if hasattr(array, "
|
|
49
|
-
return
|
|
49
|
+
if hasattr(array, "tobytes"):
|
|
50
|
+
return _array_to_usm(queue, array)
|
|
50
51
|
else:
|
|
51
|
-
if isinstance(array, Iterable):
|
|
52
|
+
if isinstance(array, Iterable) and not sp.issparse(array):
|
|
52
53
|
array = [copy_to_usm(queue, i) for i in array]
|
|
53
54
|
return array
|
|
54
55
|
|
|
55
56
|
|
|
56
57
|
def copy_to_dpnp(queue, array):
|
|
57
|
-
if hasattr(array, "
|
|
58
|
-
return
|
|
58
|
+
if hasattr(array, "tobytes"):
|
|
59
|
+
return _to_dpnp(_array_to_usm(queue, array))
|
|
59
60
|
else:
|
|
60
|
-
if isinstance(array, Iterable):
|
|
61
|
+
if isinstance(array, Iterable) and not sp.issparse(array):
|
|
61
62
|
array = [copy_to_dpnp(queue, i) for i in array]
|
|
62
63
|
return array
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
@lazy_import("dpctl.memory")
|
|
66
|
-
def usm_to_numpy(memorymod, item, usm_iface):
|
|
67
|
-
buffer = memorymod.as_usm_memory(item).copy_to_host()
|
|
68
|
-
order = "C"
|
|
69
|
-
if usm_iface["strides"] is not None and len(usm_iface["strides"]) > 1:
|
|
70
|
-
if usm_iface["strides"][0] < usm_iface["strides"][1]:
|
|
71
|
-
order = "F"
|
|
72
|
-
item = np.ndarray(
|
|
73
|
-
shape=usm_iface["shape"],
|
|
74
|
-
dtype=usm_iface["typestr"],
|
|
75
|
-
buffer=buffer,
|
|
76
|
-
order=order,
|
|
77
|
-
)
|
|
78
|
-
return item
|