scikit-learn-intelex 2025.0.1__py310-none-win_amd64.whl → 2025.2.0__py310-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.2.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +21 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +11 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +9 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +35 -16
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +12 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +91 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +4 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +3 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +6 -3
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_config.py +1 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_device_offload.py +15 -40
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +5 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +34 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +16 -72
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +100 -17
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +16 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +7 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +22 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +4 -3
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +41 -26
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +69 -1
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +121 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +126 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +475 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +42 -32
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +87 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +30 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +86 -52
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +19 -23
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +9 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +72 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +64 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +110 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +55 -70
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +3 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/svm.py +10 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +8 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +25 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +4 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +19 -24
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +12 -22
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +56 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/validation.py +52 -20
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__init__.py +1 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_config.py +19 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +17 -12
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_utils.py +45 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +123 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +65 -34
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +190 -36
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +99 -28
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +12 -7
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +56 -42
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +15 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/conftest.py +9 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +32 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +61 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +30 -19
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +72 -59
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +40 -20
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +52 -40
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +18 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +114 -75
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +49 -39
- {scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -419
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +70 -6
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +61 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +41 -41
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +16 -11
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +4 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +20 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +18 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +22 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +4 -2
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +18 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +30 -14
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +70 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +4 -4
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +7 -8
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +4 -3
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +17 -15
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +1 -5
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +1 -1
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +58 -47
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +68 -29
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +40 -18
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +66 -27
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +36 -18
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +491 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +123 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +69 -13
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +108 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +1 -9
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +43 -13
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +48 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +117 -9
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/METADATA +2 -2
- scikit_learn_intelex-2025.2.0.dist-info/RECORD +259 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +0 -95
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +0 -235
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -54
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -43
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -103
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
- scikit_learn_intelex-2025.0.1.dist-info/RECORD +0 -255
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- /scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py → /scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.0.1.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.0.1.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/top_level.txt +0 -0
scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2024 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
import numpy as np
|
|
18
|
+
import numpy.random as rand
|
|
19
|
+
import pytest
|
|
20
|
+
import scipy.sparse as sp
|
|
21
|
+
|
|
22
|
+
from onedal.tests.utils._dataframes_support import (
|
|
23
|
+
_convert_to_dataframe,
|
|
24
|
+
get_dataframes_and_queues,
|
|
25
|
+
)
|
|
26
|
+
from onedal.utils.validation import assert_all_finite
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
30
|
+
@pytest.mark.parametrize(
|
|
31
|
+
"shape",
|
|
32
|
+
[
|
|
33
|
+
[16, 2048],
|
|
34
|
+
[65539], # 2**16 + 3,
|
|
35
|
+
[1000, 1000],
|
|
36
|
+
[
|
|
37
|
+
3,
|
|
38
|
+
],
|
|
39
|
+
],
|
|
40
|
+
)
|
|
41
|
+
@pytest.mark.parametrize("allow_nan", [False, True])
|
|
42
|
+
@pytest.mark.parametrize(
|
|
43
|
+
"dataframe, queue", get_dataframes_and_queues("numpy,dpnp,dpctl")
|
|
44
|
+
)
|
|
45
|
+
def test_sum_infinite_actually_finite(dtype, shape, allow_nan, dataframe, queue):
|
|
46
|
+
X = np.empty(shape, dtype=dtype)
|
|
47
|
+
X.fill(np.finfo(dtype).max)
|
|
48
|
+
X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
49
|
+
assert_all_finite(X, allow_nan=allow_nan)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
53
|
+
@pytest.mark.parametrize(
|
|
54
|
+
"shape",
|
|
55
|
+
[
|
|
56
|
+
[16, 2048],
|
|
57
|
+
[65539], # 2**16 + 3,
|
|
58
|
+
[1000, 1000],
|
|
59
|
+
[
|
|
60
|
+
3,
|
|
61
|
+
],
|
|
62
|
+
],
|
|
63
|
+
)
|
|
64
|
+
@pytest.mark.parametrize("allow_nan", [False, True])
|
|
65
|
+
@pytest.mark.parametrize("check", ["inf", "NaN", None])
|
|
66
|
+
@pytest.mark.parametrize("seed", [0, 123456])
|
|
67
|
+
@pytest.mark.parametrize(
|
|
68
|
+
"dataframe, queue", get_dataframes_and_queues("numpy,dpnp,dpctl")
|
|
69
|
+
)
|
|
70
|
+
def test_assert_finite_random_location(
|
|
71
|
+
dtype, shape, allow_nan, check, seed, dataframe, queue
|
|
72
|
+
):
|
|
73
|
+
rand.seed(seed)
|
|
74
|
+
X = rand.uniform(high=np.finfo(dtype).max, size=shape).astype(dtype)
|
|
75
|
+
|
|
76
|
+
if check:
|
|
77
|
+
loc = rand.randint(0, X.size - 1)
|
|
78
|
+
X.reshape((-1,))[loc] = float(check)
|
|
79
|
+
|
|
80
|
+
X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
81
|
+
|
|
82
|
+
if check is None or (allow_nan and check == "NaN"):
|
|
83
|
+
assert_all_finite(X, allow_nan=allow_nan)
|
|
84
|
+
else:
|
|
85
|
+
msg_err = "Input contains " + ("infinity" if allow_nan else "NaN, infinity") + "."
|
|
86
|
+
with pytest.raises(ValueError, match=msg_err):
|
|
87
|
+
assert_all_finite(X, allow_nan=allow_nan)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
91
|
+
@pytest.mark.parametrize("allow_nan", [False, True])
|
|
92
|
+
@pytest.mark.parametrize("check", ["inf", "NaN", None])
|
|
93
|
+
@pytest.mark.parametrize("seed", [0, 123456])
|
|
94
|
+
@pytest.mark.parametrize(
|
|
95
|
+
"dataframe, queue", get_dataframes_and_queues("numpy,dpnp,dpctl")
|
|
96
|
+
)
|
|
97
|
+
def test_assert_finite_random_shape_and_location(
|
|
98
|
+
dtype, allow_nan, check, seed, dataframe, queue
|
|
99
|
+
):
|
|
100
|
+
lb, ub = 2, 1048576 # ub is 2^20
|
|
101
|
+
rand.seed(seed)
|
|
102
|
+
X = rand.uniform(high=np.finfo(dtype).max, size=rand.randint(lb, ub)).astype(dtype)
|
|
103
|
+
|
|
104
|
+
if check:
|
|
105
|
+
loc = rand.randint(0, X.size - 1)
|
|
106
|
+
X[loc] = float(check)
|
|
107
|
+
|
|
108
|
+
X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
109
|
+
|
|
110
|
+
if check is None or (allow_nan and check == "NaN"):
|
|
111
|
+
assert_all_finite(X, allow_nan=allow_nan)
|
|
112
|
+
else:
|
|
113
|
+
msg_err = "Input contains " + ("infinity" if allow_nan else "NaN, infinity") + "."
|
|
114
|
+
with pytest.raises(ValueError, match=msg_err):
|
|
115
|
+
assert_all_finite(X, allow_nan=allow_nan)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
119
|
+
@pytest.mark.parametrize("allow_nan", [False, True])
|
|
120
|
+
@pytest.mark.parametrize("check", ["inf", "NaN", None])
|
|
121
|
+
@pytest.mark.parametrize("seed", [0, 123456])
|
|
122
|
+
def test_assert_finite_sparse(dtype, allow_nan, check, seed):
|
|
123
|
+
lb, ub = 2, 2056
|
|
124
|
+
rand.seed(seed)
|
|
125
|
+
X = sp.random(
|
|
126
|
+
rand.randint(lb, ub),
|
|
127
|
+
rand.randint(lb, ub),
|
|
128
|
+
format="csr",
|
|
129
|
+
dtype=dtype,
|
|
130
|
+
random_state=rand.default_rng(seed),
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
if check:
|
|
134
|
+
locx = rand.randint(0, X.data.shape[0] - 1)
|
|
135
|
+
X.data[locx] = float(check)
|
|
136
|
+
|
|
137
|
+
if check is None or (allow_nan and check == "NaN"):
|
|
138
|
+
assert_all_finite(X, allow_nan=allow_nan)
|
|
139
|
+
else:
|
|
140
|
+
msg_err = "Input contains " + ("infinity" if allow_nan else "NaN, infinity") + "."
|
|
141
|
+
with pytest.raises(ValueError, match=msg_err):
|
|
142
|
+
assert_all_finite(X, allow_nan=allow_nan)
|
|
@@ -31,7 +31,12 @@ else:
|
|
|
31
31
|
from sklearn.preprocessing import LabelEncoder
|
|
32
32
|
from sklearn.utils.validation import check_array
|
|
33
33
|
|
|
34
|
-
from daal4py.sklearn.utils.validation import
|
|
34
|
+
from daal4py.sklearn.utils.validation import (
|
|
35
|
+
_assert_all_finite as _daal4py_assert_all_finite,
|
|
36
|
+
)
|
|
37
|
+
from onedal import _backend
|
|
38
|
+
from onedal.common._policy import _get_policy
|
|
39
|
+
from onedal.datatypes import to_table
|
|
35
40
|
|
|
36
41
|
|
|
37
42
|
class DataConversionWarning(UserWarning):
|
|
@@ -135,10 +140,10 @@ def _check_array(
|
|
|
135
140
|
if force_all_finite:
|
|
136
141
|
if sp.issparse(array):
|
|
137
142
|
if hasattr(array, "data"):
|
|
138
|
-
|
|
143
|
+
_daal4py_assert_all_finite(array.data)
|
|
139
144
|
force_all_finite = False
|
|
140
145
|
else:
|
|
141
|
-
|
|
146
|
+
_daal4py_assert_all_finite(array)
|
|
142
147
|
force_all_finite = False
|
|
143
148
|
array = check_array(
|
|
144
149
|
array=array,
|
|
@@ -153,15 +158,6 @@ def _check_array(
|
|
|
153
158
|
|
|
154
159
|
if sp.issparse(array):
|
|
155
160
|
return array
|
|
156
|
-
|
|
157
|
-
# TODO: Convert this kind of arrays to a table like in daal4py
|
|
158
|
-
if not array.flags.aligned and not array.flags.writeable:
|
|
159
|
-
array = np.array(array.tolist())
|
|
160
|
-
|
|
161
|
-
# TODO: If data is not contiguous copy to contiguous
|
|
162
|
-
# Need implemeted numpy table in oneDAL
|
|
163
|
-
if not array.flags.c_contiguous and not array.flags.f_contiguous:
|
|
164
|
-
array = np.ascontiguousarray(array, array.dtype)
|
|
165
161
|
return array
|
|
166
162
|
|
|
167
163
|
|
|
@@ -200,7 +196,7 @@ def _check_X_y(
|
|
|
200
196
|
if y_numeric and y.dtype.kind == "O":
|
|
201
197
|
y = y.astype(np.float64)
|
|
202
198
|
if force_all_finite:
|
|
203
|
-
|
|
199
|
+
_daal4py_assert_all_finite(y)
|
|
204
200
|
|
|
205
201
|
lengths = [X.shape[0], y.shape[0]]
|
|
206
202
|
uniques = np.unique(lengths)
|
|
@@ -285,7 +281,7 @@ def _type_of_target(y):
|
|
|
285
281
|
# check float and contains non-integer float values
|
|
286
282
|
if y.dtype.kind == "f" and np.any(y != y.astype(int)):
|
|
287
283
|
# [.1, .2, 3] or [[.1, .2, 3]] or [[1., .2]] and not [1., 2., 3.]
|
|
288
|
-
|
|
284
|
+
_daal4py_assert_all_finite(y)
|
|
289
285
|
return "continuous" + suffix
|
|
290
286
|
|
|
291
287
|
if (len(np.unique(y)) > 2) or (y.ndim >= 2 and len(y[0]) > 1):
|
|
@@ -358,6 +354,8 @@ def _check_n_features(self, X, reset):
|
|
|
358
354
|
|
|
359
355
|
|
|
360
356
|
def _num_features(X, fallback_1d=False):
|
|
357
|
+
if X is None:
|
|
358
|
+
raise ValueError("Expected array-like (array or non-string sequence), got None")
|
|
361
359
|
type_ = type(X)
|
|
362
360
|
if type_.__module__ == "builtins":
|
|
363
361
|
type_name = type_.__qualname__
|
|
@@ -366,7 +364,7 @@ def _num_features(X, fallback_1d=False):
|
|
|
366
364
|
message = "Unable to find the number of features from X of type " f"{type_name}"
|
|
367
365
|
if not hasattr(X, "__len__") and not hasattr(X, "shape"):
|
|
368
366
|
if not hasattr(X, "__array__"):
|
|
369
|
-
raise
|
|
367
|
+
raise ValueError(message)
|
|
370
368
|
# Only convert X to a numpy array if there is no cheaper, heuristic
|
|
371
369
|
# option.
|
|
372
370
|
X = np.asarray(X)
|
|
@@ -375,15 +373,21 @@ def _num_features(X, fallback_1d=False):
|
|
|
375
373
|
ndim_thr = 1 if fallback_1d else 2
|
|
376
374
|
if not hasattr(X.shape, "__len__") or len(X.shape) < ndim_thr:
|
|
377
375
|
message += f" with shape {X.shape}"
|
|
378
|
-
raise
|
|
379
|
-
|
|
376
|
+
raise ValueError(message)
|
|
377
|
+
if len(X.shape) <= 1:
|
|
378
|
+
return 1
|
|
379
|
+
else:
|
|
380
|
+
return X.shape[-1]
|
|
380
381
|
|
|
381
|
-
|
|
382
|
+
try:
|
|
383
|
+
first_sample = X[0]
|
|
384
|
+
except IndexError:
|
|
385
|
+
raise ValueError("Passed empty data.")
|
|
382
386
|
|
|
383
387
|
# Do not consider an array-like of strings or dicts to be a 2D array
|
|
384
388
|
if isinstance(first_sample, (str, bytes, dict)):
|
|
385
389
|
message += f" where the samples are of type " f"{type(first_sample).__qualname__}"
|
|
386
|
-
raise
|
|
390
|
+
raise ValueError(message)
|
|
387
391
|
|
|
388
392
|
try:
|
|
389
393
|
# If X is a list of lists, for instance, we assume that all nested
|
|
@@ -394,7 +398,7 @@ def _num_features(X, fallback_1d=False):
|
|
|
394
398
|
else:
|
|
395
399
|
return 1
|
|
396
400
|
except Exception as err:
|
|
397
|
-
raise
|
|
401
|
+
raise ValueError(message) from err
|
|
398
402
|
|
|
399
403
|
|
|
400
404
|
def _num_samples(x):
|
|
@@ -430,3 +434,31 @@ def _is_csr(x):
|
|
|
430
434
|
return isinstance(x, sp.csr_matrix) or (
|
|
431
435
|
hasattr(sp, "csr_array") and isinstance(x, sp.csr_array)
|
|
432
436
|
)
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
def _assert_all_finite(X, allow_nan=False, input_name=""):
|
|
440
|
+
policy = _get_policy(None, X)
|
|
441
|
+
X_t = to_table(X)
|
|
442
|
+
params = {
|
|
443
|
+
"fptype": X_t.dtype,
|
|
444
|
+
"method": "dense",
|
|
445
|
+
"allow_nan": allow_nan,
|
|
446
|
+
}
|
|
447
|
+
if not _backend.finiteness_checker.compute.compute(policy, params, X_t).finite:
|
|
448
|
+
type_err = "infinity" if allow_nan else "NaN, infinity"
|
|
449
|
+
padded_input_name = input_name + " " if input_name else ""
|
|
450
|
+
msg_err = f"Input {padded_input_name}contains {type_err}."
|
|
451
|
+
raise ValueError(msg_err)
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
def assert_all_finite(
|
|
455
|
+
X,
|
|
456
|
+
*,
|
|
457
|
+
allow_nan=False,
|
|
458
|
+
input_name="",
|
|
459
|
+
):
|
|
460
|
+
_assert_all_finite(
|
|
461
|
+
X.data if sp.issparse(X) else X,
|
|
462
|
+
allow_nan=allow_nan,
|
|
463
|
+
input_name=input_name,
|
|
464
|
+
)
|
|
@@ -15,10 +15,12 @@
|
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
17
|
from contextlib import contextmanager
|
|
18
|
+
from os import environ
|
|
18
19
|
|
|
19
20
|
from sklearn import get_config as skl_get_config
|
|
20
21
|
from sklearn import set_config as skl_set_config
|
|
21
22
|
|
|
23
|
+
from daal4py.sklearn._utils import sklearn_check_version
|
|
22
24
|
from onedal._config import _get_config as onedal_get_config
|
|
23
25
|
|
|
24
26
|
|
|
@@ -38,7 +40,12 @@ def get_config():
|
|
|
38
40
|
return {**sklearn, **sklearnex}
|
|
39
41
|
|
|
40
42
|
|
|
41
|
-
def set_config(
|
|
43
|
+
def set_config(
|
|
44
|
+
target_offload=None,
|
|
45
|
+
allow_fallback_to_host=None,
|
|
46
|
+
allow_sklearn_after_onedal=None,
|
|
47
|
+
**sklearn_configs,
|
|
48
|
+
):
|
|
42
49
|
"""Set global configuration
|
|
43
50
|
Parameters
|
|
44
51
|
----------
|
|
@@ -51,11 +58,20 @@ def set_config(target_offload=None, allow_fallback_to_host=None, **sklearn_confi
|
|
|
51
58
|
If True, allows to fallback computation to host device
|
|
52
59
|
in case particular estimator does not support the selected one.
|
|
53
60
|
Global default: False.
|
|
61
|
+
allow_sklearn_after_onedal : bool, default=None
|
|
62
|
+
If True, allows to fallback computation to sklearn after onedal
|
|
63
|
+
backend in case of runtime error on onedal backend computations.
|
|
64
|
+
Global default: True.
|
|
54
65
|
See Also
|
|
55
66
|
--------
|
|
56
67
|
config_context : Context manager for global configuration.
|
|
57
68
|
get_config : Retrieve current values of the global configuration.
|
|
58
69
|
"""
|
|
70
|
+
|
|
71
|
+
array_api_dispatch = sklearn_configs.get("array_api_dispatch", False)
|
|
72
|
+
if array_api_dispatch and sklearn_check_version("1.6"):
|
|
73
|
+
environ["SCIPY_ARRAY_API"] = "1"
|
|
74
|
+
|
|
59
75
|
skl_set_config(**sklearn_configs)
|
|
60
76
|
|
|
61
77
|
local_config = onedal_get_config(copy=False)
|
|
@@ -64,6 +80,8 @@ def set_config(target_offload=None, allow_fallback_to_host=None, **sklearn_confi
|
|
|
64
80
|
local_config["target_offload"] = target_offload
|
|
65
81
|
if allow_fallback_to_host is not None:
|
|
66
82
|
local_config["allow_fallback_to_host"] = allow_fallback_to_host
|
|
83
|
+
if allow_sklearn_after_onedal is not None:
|
|
84
|
+
local_config["allow_sklearn_after_onedal"] = allow_sklearn_after_onedal
|
|
67
85
|
|
|
68
86
|
|
|
69
87
|
@contextmanager
|
|
@@ -16,13 +16,9 @@
|
|
|
16
16
|
|
|
17
17
|
from functools import wraps
|
|
18
18
|
|
|
19
|
-
from onedal._device_offload import
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
_transfer_to_host,
|
|
23
|
-
dpnp_available,
|
|
24
|
-
)
|
|
25
|
-
from onedal.utils._array_api import _asarray, _is_numpy_namespace
|
|
19
|
+
from onedal._device_offload import _copy_to_usm, _get_global_queue, _transfer_to_host
|
|
20
|
+
from onedal.utils._array_api import _asarray
|
|
21
|
+
from onedal.utils._dpep_helpers import dpnp_available
|
|
26
22
|
|
|
27
23
|
if dpnp_available:
|
|
28
24
|
import dpnp
|
|
@@ -63,14 +59,16 @@ def _get_backend(obj, queue, method_name, *data):
|
|
|
63
59
|
|
|
64
60
|
def dispatch(obj, method_name, branches, *args, **kwargs):
|
|
65
61
|
q = _get_global_queue()
|
|
66
|
-
q, hostargs = _transfer_to_host(q, *args)
|
|
67
|
-
q, hostvalues = _transfer_to_host(q, *kwargs.values())
|
|
62
|
+
has_usm_data_for_args, q, hostargs = _transfer_to_host(q, *args)
|
|
63
|
+
has_usm_data_for_kwargs, q, hostvalues = _transfer_to_host(q, *kwargs.values())
|
|
68
64
|
hostkwargs = dict(zip(kwargs.keys(), hostvalues))
|
|
69
65
|
|
|
70
66
|
backend, q, patching_status = _get_backend(obj, q, method_name, *hostargs)
|
|
71
|
-
|
|
67
|
+
has_usm_data = has_usm_data_for_args or has_usm_data_for_kwargs
|
|
72
68
|
if backend == "onedal":
|
|
73
|
-
|
|
69
|
+
# Host args only used before onedal backend call.
|
|
70
|
+
# Device will be offloaded when onedal backend will be called.
|
|
71
|
+
patching_status.write_log(queue=q, transferred_to_host=False)
|
|
74
72
|
return branches[backend](obj, *hostargs, **hostkwargs, queue=q)
|
|
75
73
|
if backend == "sklearn":
|
|
76
74
|
if (
|
|
@@ -78,10 +76,17 @@ def dispatch(obj, method_name, branches, *args, **kwargs):
|
|
|
78
76
|
and get_config()["array_api_dispatch"]
|
|
79
77
|
and "array_api_support" in obj._get_tags()
|
|
80
78
|
and obj._get_tags()["array_api_support"]
|
|
79
|
+
and not has_usm_data
|
|
81
80
|
):
|
|
81
|
+
# USM ndarrays are also excluded for the fallback Array API. Currently, DPNP.ndarray is
|
|
82
|
+
# not compliant with the Array API standard, and DPCTL usm_ndarray Array API is compliant,
|
|
83
|
+
# except for the linalg module. There is no guarantee that stock scikit-learn will
|
|
84
|
+
# work with such input data. The condition will be updated after DPNP.ndarray and
|
|
85
|
+
# DPCTL usm_ndarray enabling for conformance testing and these arrays supportance
|
|
86
|
+
# of the fallback cases.
|
|
82
87
|
# If `array_api_dispatch` enabled and array api is supported for the stock scikit-learn,
|
|
83
88
|
# then raw inputs are used for the fallback.
|
|
84
|
-
patching_status.write_log()
|
|
89
|
+
patching_status.write_log(transferred_to_host=False)
|
|
85
90
|
return branches[backend](obj, *args, **kwargs)
|
|
86
91
|
else:
|
|
87
92
|
patching_status.write_log()
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
import logging
|
|
18
18
|
import os
|
|
19
|
-
import sys
|
|
20
19
|
import warnings
|
|
20
|
+
from abc import ABC
|
|
21
21
|
|
|
22
22
|
from daal4py.sklearn._utils import (
|
|
23
23
|
PatchingConditionsChain as daal4py_PatchingConditionsChain,
|
|
@@ -29,10 +29,10 @@ class PatchingConditionsChain(daal4py_PatchingConditionsChain):
|
|
|
29
29
|
def get_status(self):
|
|
30
30
|
return self.patching_is_enabled
|
|
31
31
|
|
|
32
|
-
def write_log(self, queue=None):
|
|
32
|
+
def write_log(self, queue=None, transferred_to_host=True):
|
|
33
33
|
if self.patching_is_enabled:
|
|
34
34
|
self.logger.info(
|
|
35
|
-
f"{self.scope_name}: {get_patch_message('onedal', queue=queue)}"
|
|
35
|
+
f"{self.scope_name}: {get_patch_message('onedal', queue=queue, transferred_to_host=transferred_to_host)}"
|
|
36
36
|
)
|
|
37
37
|
else:
|
|
38
38
|
self.logger.debug(
|
|
@@ -43,7 +43,9 @@ class PatchingConditionsChain(daal4py_PatchingConditionsChain):
|
|
|
43
43
|
self.logger.debug(
|
|
44
44
|
f"{self.scope_name}: patching failed with cause - {message}"
|
|
45
45
|
)
|
|
46
|
-
self.logger.info(
|
|
46
|
+
self.logger.info(
|
|
47
|
+
f"{self.scope_name}: {get_patch_message('sklearn', transferred_to_host=transferred_to_host)}"
|
|
48
|
+
)
|
|
47
49
|
|
|
48
50
|
|
|
49
51
|
def set_sklearn_ex_verbose():
|
|
@@ -66,7 +68,7 @@ def set_sklearn_ex_verbose():
|
|
|
66
68
|
)
|
|
67
69
|
|
|
68
70
|
|
|
69
|
-
def get_patch_message(s, queue=None):
|
|
71
|
+
def get_patch_message(s, queue=None, transferred_to_host=True):
|
|
70
72
|
if s == "onedal":
|
|
71
73
|
message = "running accelerated version on "
|
|
72
74
|
if queue is not None:
|
|
@@ -87,6 +89,10 @@ def get_patch_message(s, queue=None):
|
|
|
87
89
|
f"Invalid input - expected one of 'onedal','sklearn',"
|
|
88
90
|
f" 'sklearn_after_onedal', got {s}"
|
|
89
91
|
)
|
|
92
|
+
if transferred_to_host:
|
|
93
|
+
message += (
|
|
94
|
+
". All input data transferred to host for further backend computations."
|
|
95
|
+
)
|
|
90
96
|
return message
|
|
91
97
|
|
|
92
98
|
|
|
@@ -99,11 +105,39 @@ def register_hyperparameters(hyperparameters_map):
|
|
|
99
105
|
Adds `get_hyperparameters` method to class.
|
|
100
106
|
"""
|
|
101
107
|
|
|
102
|
-
def
|
|
103
|
-
|
|
104
|
-
|
|
108
|
+
def decorator(cls):
|
|
109
|
+
"""Add `get_hyperparameters()` static method"""
|
|
110
|
+
|
|
111
|
+
class StaticHyperparametersAccessor:
|
|
112
|
+
"""Like a @staticmethod, but additionally raises a Warning when called on an instance."""
|
|
113
|
+
|
|
114
|
+
def __get__(self, instance, _):
|
|
115
|
+
if instance is not None:
|
|
116
|
+
warnings.warn(
|
|
117
|
+
"Hyperparameters are static variables and can not be modified per instance."
|
|
118
|
+
)
|
|
119
|
+
return self.get_hyperparameters
|
|
120
|
+
|
|
121
|
+
def get_hyperparameters(self, op):
|
|
122
|
+
return hyperparameters_map[op]
|
|
123
|
+
|
|
124
|
+
cls.get_hyperparameters = StaticHyperparametersAccessor()
|
|
125
|
+
return cls
|
|
126
|
+
|
|
127
|
+
return decorator
|
|
128
|
+
|
|
105
129
|
|
|
106
|
-
|
|
107
|
-
|
|
130
|
+
# This abstract class is meant to generate a clickable doc link for classses
|
|
131
|
+
# in sklearnex that are not part of base scikit-learn. It should be inherited
|
|
132
|
+
# before inheriting from a scikit-learn estimator, otherwise will get overriden
|
|
133
|
+
# by the estimator's original.
|
|
134
|
+
class IntelEstimator(ABC):
|
|
135
|
+
@property
|
|
136
|
+
def _doc_link_module(self) -> str:
|
|
137
|
+
return "sklearnex"
|
|
108
138
|
|
|
109
|
-
|
|
139
|
+
@property
|
|
140
|
+
def _doc_link_template(self) -> str:
|
|
141
|
+
module_path, _ = self.__class__.__module__.rsplit(".", 1)
|
|
142
|
+
class_name = self.__class__.__name__
|
|
143
|
+
return f"https://uxlfoundation.github.io/scikit-learn-intelex/latest/non-scikit-algorithms.html#{module_path}.{class_name}"
|