scikit-learn-intelex 2024.6.0__py310-none-win_amd64.whl → 2025.0.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.0.0.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +424 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +19 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py +377 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +242 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +241 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +597 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
- {scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +524 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +318 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1397 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +29 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +848 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +272 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +325 -0
- scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +2 -2
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +1026 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +196 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
- {scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/manifold}/__init__.py +3 -3
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +405 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +155 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
- scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +4 -2
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +161 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +87 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +118 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +503 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +139 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +74 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +734 -0
- {scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +75 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +693 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/__init__.py +83 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/_config.py +53 -0
- {scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal}/_device_offload.py +104 -132
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +107 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +160 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +298 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +196 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +110 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +560 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +115 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/common/_base.py +38 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/common/_policy.py +59 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +30 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +116 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +75 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +125 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +146 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +122 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +95 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +235 -0
- {scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +204 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +186 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +198 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +720 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +258 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +329 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +249 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +168 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +107 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +149 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +778 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +25 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +153 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/svm/svm.py +556 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +351 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/tests/test_common.py +41 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +168 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +107 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/utils/__init__.py +49 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +91 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal/utils/validation.py +432 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/_config.py +3 -15
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +121 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +140 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +5 -5
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +251 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +1 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -1
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +383 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +153 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +68 -17
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +46 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +25 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +113 -9
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +9 -36
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +9 -12
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +2 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +13 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +5 -6
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +418 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +2 -34
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +79 -59
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +24 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +13 -10
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +153 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +28 -3
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +46 -3
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py +21 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +5 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +5 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +11 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +45 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +1 -20
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +1 -20
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +31 -7
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +8 -8
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +2 -2
- scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/manifold/t_sne.py → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +19 -17
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/ridge.py +419 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +102 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +107 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +307 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +97 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +172 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +37 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +107 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +184 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +20 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +30 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +269 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +128 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +265 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +35 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +329 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +145 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +166 -0
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +288 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +19 -21
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +1 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +1 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +12 -20
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/_utils.py +143 -20
- scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py +198 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +4 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +2 -1
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +12 -4
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +16 -14
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +33 -20
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +1 -2
- scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/utils/_namespace.py → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +5 -20
- {scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2025.0.0.dist-info}/METADATA +3 -2
- scikit_learn_intelex-2025.0.0.dist-info/RECORD +255 -0
- scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -17
- scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -30
- scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
- scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -303
- scikit_learn_intelex-2024.6.0.dist-info/RECORD +0 -108
- {scikit_learn_intelex-2024.6.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.0.0.data/data/Lib/site-packages/onedal}/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/_utils.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -0
- {scikit_learn_intelex-2024.6.0.data → scikit_learn_intelex-2025.0.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -0
- {scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2025.0.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2025.0.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2025.0.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,198 @@
|
|
|
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
|
+
from numpy.testing import assert_allclose
|
|
19
|
+
from sklearn.datasets import make_blobs, make_classification, make_regression
|
|
20
|
+
from sklearn.model_selection import train_test_split
|
|
21
|
+
|
|
22
|
+
from onedal.tests.utils._dataframes_support import _as_numpy
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
import dpctl
|
|
26
|
+
from dpctl import SyclQueue
|
|
27
|
+
from mpi4py import MPI
|
|
28
|
+
|
|
29
|
+
mpi_libs_available = True
|
|
30
|
+
gpu_is_available = dpctl.has_gpu_devices()
|
|
31
|
+
except (ImportError, ModuleNotFoundError):
|
|
32
|
+
mpi_libs_available = False
|
|
33
|
+
|
|
34
|
+
_mpi_libs_and_gpu_available = mpi_libs_available and gpu_is_available
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _get_local_tensor(full_data):
|
|
38
|
+
"""Splits data across ranks.
|
|
39
|
+
|
|
40
|
+
Called on each rank to extract the subset of data assigned to that rank.
|
|
41
|
+
|
|
42
|
+
Args:
|
|
43
|
+
full_data (numpy or dpctl array): The entire set of data
|
|
44
|
+
|
|
45
|
+
Returns:
|
|
46
|
+
local_data (numpy or dpctl array): The subset of data used by the rank
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
# create sycl queue and gather communicator details
|
|
50
|
+
q = SyclQueue("gpu")
|
|
51
|
+
comm = MPI.COMM_WORLD
|
|
52
|
+
rank = comm.Get_rank()
|
|
53
|
+
size = comm.Get_size()
|
|
54
|
+
|
|
55
|
+
# divide data across ranks and move to dpt tensor
|
|
56
|
+
data_rows = full_data.shape[0]
|
|
57
|
+
local_start = rank * data_rows // size
|
|
58
|
+
local_end = (1 + rank) * data_rows // size
|
|
59
|
+
local_data = full_data[local_start:local_end]
|
|
60
|
+
|
|
61
|
+
return local_data
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def _generate_regression_data(n_samples, n_features, dtype=np.float64, random_state=42):
|
|
65
|
+
# Generates regression data and divides between train and test
|
|
66
|
+
X, y = make_regression(
|
|
67
|
+
n_samples=n_samples, n_features=n_features, random_state=random_state
|
|
68
|
+
)
|
|
69
|
+
X = X.astype(dtype)
|
|
70
|
+
y = y.astype(dtype)
|
|
71
|
+
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=random_state)
|
|
72
|
+
return X_train, X_test, y_train, y_test
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _generate_classification_data(
|
|
76
|
+
n_samples, n_features, n_classes=2, dtype=np.float64, random_state=42
|
|
77
|
+
):
|
|
78
|
+
# Generates classification data and divides between train and test
|
|
79
|
+
X, y = make_classification(
|
|
80
|
+
n_samples=n_samples,
|
|
81
|
+
n_features=n_features,
|
|
82
|
+
n_classes=n_classes,
|
|
83
|
+
n_informative=int(0.5 * n_classes + 1),
|
|
84
|
+
random_state=random_state,
|
|
85
|
+
)
|
|
86
|
+
X = X.astype(dtype)
|
|
87
|
+
y = y.astype(dtype)
|
|
88
|
+
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=random_state)
|
|
89
|
+
return X_train, X_test, y_train, y_test
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def _generate_statistic_data(
|
|
93
|
+
n_samples, n_features=None, dtype=np.float64, random_state=42
|
|
94
|
+
):
|
|
95
|
+
# Generates statistical data
|
|
96
|
+
gen = np.random.default_rng(random_state)
|
|
97
|
+
data = gen.uniform(
|
|
98
|
+
low=-0.3,
|
|
99
|
+
high=+0.7,
|
|
100
|
+
size=(n_samples, n_features) if n_features is not None else (n_samples,),
|
|
101
|
+
).astype(dtype)
|
|
102
|
+
return data
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def _generate_clustering_data(
|
|
106
|
+
n_samples, n_features, centers=None, dtype=np.float64, random_state=42
|
|
107
|
+
):
|
|
108
|
+
# Generates clustering data and divides between train and test
|
|
109
|
+
X, _ = make_blobs(
|
|
110
|
+
n_samples=n_samples,
|
|
111
|
+
centers=centers,
|
|
112
|
+
n_features=n_features,
|
|
113
|
+
random_state=random_state,
|
|
114
|
+
)
|
|
115
|
+
X = X.astype(dtype)
|
|
116
|
+
X_train, X_test = train_test_split(X, random_state=random_state)
|
|
117
|
+
return X_train, X_test
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
def _spmd_assert_allclose(spmd_result, batch_result, **kwargs):
|
|
121
|
+
"""Calls assert_allclose on spmd and batch results.
|
|
122
|
+
|
|
123
|
+
Called on each rank to compare the spmd result specific to that rank and
|
|
124
|
+
subset of batch result that corresponds to that rank.
|
|
125
|
+
|
|
126
|
+
Args:
|
|
127
|
+
spmd_result (numpy or dpctl array): The result for the subset of data on the rank the function is called from, computed by the spmd estimator
|
|
128
|
+
batch_result (numpy array): The result for all data, computed by the batch estimator
|
|
129
|
+
|
|
130
|
+
Raises:
|
|
131
|
+
AssertionError: If all results are not adequately close.
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
# extract chunk from batch result to match with local spmd result
|
|
135
|
+
local_batch_result = _get_local_tensor(batch_result)
|
|
136
|
+
|
|
137
|
+
assert_allclose(_as_numpy(spmd_result), _as_numpy(local_batch_result), **kwargs)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def _assert_unordered_allclose(spmd_result, batch_result, localize=False, **kwargs):
|
|
141
|
+
"""Checks if rows in spmd and batch results are aligned, even if not in the same order.
|
|
142
|
+
|
|
143
|
+
Called to verify correct unordered results are present. Useful to check KMeans centers
|
|
144
|
+
or KNN neighbors, where order does not matter. Sorts inputs to handle unordering. Also
|
|
145
|
+
capable of handling localization.
|
|
146
|
+
|
|
147
|
+
Args:
|
|
148
|
+
spmd_result (numpy or dpctl array): Result computed by the spmd estimator
|
|
149
|
+
batch_result (numpy array): Result computed by batch estimator
|
|
150
|
+
localize (bool): Whether of not spmd result is specific to the rank, in which case batch result needs to be localized
|
|
151
|
+
|
|
152
|
+
Raises:
|
|
153
|
+
AssertionError: If results do not match.
|
|
154
|
+
"""
|
|
155
|
+
np_spmd_result = _as_numpy(spmd_result)
|
|
156
|
+
|
|
157
|
+
sorted_spmd_result = np_spmd_result[
|
|
158
|
+
np.argsort(np.linalg.norm(np_spmd_result, axis=1))
|
|
159
|
+
]
|
|
160
|
+
if localize:
|
|
161
|
+
local_batch_result = _get_local_tensor(batch_result)
|
|
162
|
+
sorted_batch_result = local_batch_result[
|
|
163
|
+
np.argsort(np.linalg.norm(local_batch_result, axis=1))
|
|
164
|
+
]
|
|
165
|
+
else:
|
|
166
|
+
sorted_batch_result = batch_result[
|
|
167
|
+
np.argsort(np.linalg.norm(batch_result, axis=1))
|
|
168
|
+
]
|
|
169
|
+
|
|
170
|
+
assert_allclose(sorted_spmd_result, sorted_batch_result, **kwargs)
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def _assert_kmeans_labels_allclose(
|
|
174
|
+
spmd_labels, batch_labels, spmd_centers, batch_centers, **kwargs
|
|
175
|
+
):
|
|
176
|
+
"""Checks if labels for spmd and batch results are aligned, even cluster indices don't match.
|
|
177
|
+
|
|
178
|
+
Called to verify labels are assigned the same way on spmd and batch. Uses raw labels (which
|
|
179
|
+
may not match) to identify cluster center and ensure results match.
|
|
180
|
+
|
|
181
|
+
Args:
|
|
182
|
+
spmd_labels (numpy or dpctl array): The labels for the subset of data on the rank the function is called from, computed by the spmd estimator
|
|
183
|
+
batch_labels (numpy array): The labels for all data, computed by the batch estimator
|
|
184
|
+
spmd_centers (numpy or dpctl array): Centers computed by the spmd estimator
|
|
185
|
+
batch_centers (numpy array): Centers computed by batch estimator
|
|
186
|
+
|
|
187
|
+
Raises:
|
|
188
|
+
AssertionError: If clusters are not correctly assigned.
|
|
189
|
+
"""
|
|
190
|
+
|
|
191
|
+
np_spmd_labels = _as_numpy(spmd_labels)
|
|
192
|
+
np_spmd_centers = _as_numpy(spmd_centers)
|
|
193
|
+
local_batch_labels = _get_local_tensor(batch_labels)
|
|
194
|
+
assert_allclose(
|
|
195
|
+
np_spmd_centers[np_spmd_labels],
|
|
196
|
+
batch_centers[local_batch_labels],
|
|
197
|
+
**kwargs,
|
|
198
|
+
)
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import sklearn
|
|
18
18
|
|
|
19
|
+
import onedal
|
|
19
20
|
import sklearnex
|
|
20
21
|
|
|
21
22
|
|
|
@@ -33,7 +34,10 @@ def test_set_config_works():
|
|
|
33
34
|
)
|
|
34
35
|
|
|
35
36
|
config = sklearnex.get_config()
|
|
37
|
+
onedal_config = onedal._config._get_config()
|
|
36
38
|
assert config["target_offload"] == "cpu:0"
|
|
37
39
|
assert config["allow_fallback_to_host"]
|
|
38
40
|
assert config["assume_finite"]
|
|
41
|
+
assert onedal_config["target_offload"] == "cpu:0"
|
|
42
|
+
assert onedal_config["allow_fallback_to_host"]
|
|
39
43
|
sklearnex.set_config(**default_config)
|
|
@@ -38,7 +38,7 @@ from onedal.tests.utils._dataframes_support import (
|
|
|
38
38
|
from onedal.tests.utils._device_selection import get_queues, is_dpctl_available
|
|
39
39
|
from sklearnex import config_context
|
|
40
40
|
from sklearnex.tests._utils import PATCHED_FUNCTIONS, PATCHED_MODELS, SPECIAL_INSTANCES
|
|
41
|
-
from sklearnex.utils import get_namespace
|
|
41
|
+
from sklearnex.utils._array_api import get_namespace
|
|
42
42
|
|
|
43
43
|
if _is_dpc_backend:
|
|
44
44
|
from onedal import _backend
|
|
@@ -54,6 +54,7 @@ CPU_SKIP_LIST = (
|
|
|
54
54
|
"IncrementalEmpiricalCovariance", # dataframe_f issues
|
|
55
55
|
"IncrementalLinearRegression", # TODO fix memory leak issue in private CI for data_shape = (1000, 100), data_transform_function = dataframe_f
|
|
56
56
|
"IncrementalPCA", # TODO fix memory leak issue in private CI for data_shape = (1000, 100), data_transform_function = dataframe_f
|
|
57
|
+
"IncrementalRidge", # TODO fix memory leak issue in private CI for data_shape = (1000, 100), data_transform_function = dataframe_f
|
|
57
58
|
"LogisticRegression(solver='newton-cg')", # memory leak fortran (1000, 100)
|
|
58
59
|
)
|
|
59
60
|
|
|
@@ -208,10 +208,11 @@ def test_preview_namespace():
|
|
|
208
208
|
from sklearn.cluster import DBSCAN
|
|
209
209
|
from sklearn.decomposition import PCA
|
|
210
210
|
from sklearn.ensemble import RandomForestClassifier
|
|
211
|
-
from sklearn.linear_model import LinearRegression
|
|
211
|
+
from sklearn.linear_model import LinearRegression, Ridge
|
|
212
212
|
from sklearn.svm import SVC
|
|
213
213
|
|
|
214
214
|
return (
|
|
215
|
+
Ridge(),
|
|
215
216
|
LinearRegression(),
|
|
216
217
|
PCA(),
|
|
217
218
|
DBSCAN(),
|
|
@@ -226,9 +227,12 @@ def test_preview_namespace():
|
|
|
226
227
|
|
|
227
228
|
assert _is_preview_enabled()
|
|
228
229
|
|
|
229
|
-
lr, pca, dbscan, svc, rfc = get_estimators()
|
|
230
|
+
ridge, lr, pca, dbscan, svc, rfc = get_estimators()
|
|
230
231
|
assert "sklearnex" in rfc.__module__
|
|
231
232
|
|
|
233
|
+
if daal_check_version((2024, "P", 600)):
|
|
234
|
+
assert "sklearnex.preview" in ridge.__module__
|
|
235
|
+
|
|
232
236
|
if daal_check_version((2023, "P", 100)):
|
|
233
237
|
assert "sklearnex" in lr.__module__
|
|
234
238
|
else:
|
|
@@ -242,7 +246,8 @@ def test_preview_namespace():
|
|
|
242
246
|
sklearnex.unpatch_sklearn()
|
|
243
247
|
|
|
244
248
|
# no patching behavior
|
|
245
|
-
lr, pca, dbscan, svc, rfc = get_estimators()
|
|
249
|
+
ridge, lr, pca, dbscan, svc, rfc = get_estimators()
|
|
250
|
+
assert "sklearn." in ridge.__module__ and "daal4py" not in ridge.__module__
|
|
246
251
|
assert "sklearn." in lr.__module__ and "daal4py" not in lr.__module__
|
|
247
252
|
assert "sklearn." in pca.__module__ and "daal4py" not in pca.__module__
|
|
248
253
|
assert "sklearn." in dbscan.__module__ and "daal4py" not in dbscan.__module__
|
|
@@ -254,7 +259,10 @@ def test_preview_namespace():
|
|
|
254
259
|
sklearnex.patch_sklearn()
|
|
255
260
|
assert not _is_preview_enabled()
|
|
256
261
|
|
|
257
|
-
lr, pca, dbscan, svc, rfc = get_estimators()
|
|
262
|
+
ridge, lr, pca, dbscan, svc, rfc = get_estimators()
|
|
263
|
+
|
|
264
|
+
assert "daal4py" in ridge.__module__
|
|
265
|
+
|
|
258
266
|
if daal_check_version((2023, "P", 100)):
|
|
259
267
|
assert "sklearnex" in lr.__module__
|
|
260
268
|
else:
|
|
@@ -43,6 +43,7 @@ from sklearnex.tests._utils import (
|
|
|
43
43
|
SPECIAL_INSTANCES,
|
|
44
44
|
UNPATCHED_FUNCTIONS,
|
|
45
45
|
UNPATCHED_MODELS,
|
|
46
|
+
call_method,
|
|
46
47
|
gen_dataset,
|
|
47
48
|
gen_models_info,
|
|
48
49
|
)
|
|
@@ -132,13 +133,15 @@ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator,
|
|
|
132
133
|
elif dtype == np.float64 and not queue.sycl_device.has_aspect_fp64:
|
|
133
134
|
pytest.skip("Hardware does not support fp64 SYCL testing")
|
|
134
135
|
elif queue.sycl_device.is_gpu and estimator in [
|
|
135
|
-
"KMeans",
|
|
136
136
|
"ElasticNet",
|
|
137
137
|
"Lasso",
|
|
138
138
|
"Ridge",
|
|
139
139
|
]:
|
|
140
140
|
pytest.skip(f"{estimator} does not support GPU queues")
|
|
141
141
|
|
|
142
|
+
if "NearestNeighbors" in estimator and "radius" in method:
|
|
143
|
+
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
144
|
+
|
|
142
145
|
if estimator == "TSNE" and method == "fit_transform":
|
|
143
146
|
pytest.skip("TSNE.fit_transform is too slow for common testing")
|
|
144
147
|
elif (
|
|
@@ -161,10 +164,8 @@ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator,
|
|
|
161
164
|
est.fit(X, y)
|
|
162
165
|
|
|
163
166
|
if method:
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
else:
|
|
167
|
-
est.score(X, y)
|
|
167
|
+
call_method(est, method, X, y)
|
|
168
|
+
|
|
168
169
|
assert all(
|
|
169
170
|
[
|
|
170
171
|
"running accelerated version" in i.message
|
|
@@ -183,11 +184,15 @@ def test_special_estimator_patching(caplog, dataframe, queue, dtype, estimator,
|
|
|
183
184
|
with caplog.at_level(logging.WARNING, logger="sklearnex"):
|
|
184
185
|
est = SPECIAL_INSTANCES[estimator]
|
|
185
186
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
187
|
+
if queue:
|
|
188
|
+
# Its not possible to get the dpnp/dpctl arrays to be in the proper dtype
|
|
189
|
+
if dtype == np.float16 and not queue.sycl_device.has_aspect_fp16:
|
|
190
|
+
pytest.skip("Hardware does not support fp16 SYCL testing")
|
|
191
|
+
elif dtype == np.float64 and not queue.sycl_device.has_aspect_fp64:
|
|
192
|
+
pytest.skip("Hardware does not support fp64 SYCL testing")
|
|
193
|
+
|
|
194
|
+
if "NearestNeighbors" in estimator and "radius" in method:
|
|
195
|
+
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
191
196
|
|
|
192
197
|
X, y = gen_dataset(est, queue=queue, target_df=dataframe, dtype=dtype)[0]
|
|
193
198
|
est.fit(X, y)
|
|
@@ -196,10 +201,7 @@ def test_special_estimator_patching(caplog, dataframe, queue, dtype, estimator,
|
|
|
196
201
|
pytest.skip(f"sklearn available_if prevents testing {estimator}.{method}")
|
|
197
202
|
|
|
198
203
|
if method:
|
|
199
|
-
|
|
200
|
-
getattr(est, method)(X)
|
|
201
|
-
else:
|
|
202
|
-
est.score(X, y)
|
|
204
|
+
call_method(est, method, X, y)
|
|
203
205
|
|
|
204
206
|
assert all(
|
|
205
207
|
[
|
|
@@ -25,6 +25,7 @@ from _utils import (
|
|
|
25
25
|
PATCHED_MODELS,
|
|
26
26
|
SPECIAL_INSTANCES,
|
|
27
27
|
_sklearn_clone_dict,
|
|
28
|
+
call_method,
|
|
28
29
|
gen_dataset,
|
|
29
30
|
gen_models_info,
|
|
30
31
|
)
|
|
@@ -39,6 +40,7 @@ from sklearn.datasets import (
|
|
|
39
40
|
)
|
|
40
41
|
|
|
41
42
|
import daal4py as d4p
|
|
43
|
+
from daal4py.sklearn._utils import daal_check_version
|
|
42
44
|
from onedal.tests.utils._dataframes_support import _as_numpy, get_dataframes_and_queues
|
|
43
45
|
from sklearnex.cluster import DBSCAN, KMeans
|
|
44
46
|
from sklearnex.decomposition import PCA
|
|
@@ -73,23 +75,23 @@ def eval_method(X, y, est, method):
|
|
|
73
75
|
est.fit(X, y)
|
|
74
76
|
|
|
75
77
|
if method:
|
|
76
|
-
|
|
77
|
-
res = getattr(est, method)(X)
|
|
78
|
-
else:
|
|
79
|
-
res = est.score(X, y)
|
|
78
|
+
res = call_method(est, method, X, y)
|
|
80
79
|
|
|
81
80
|
if not isinstance(res, Iterable):
|
|
82
|
-
|
|
81
|
+
results = [_as_numpy(res)] if res is not est else []
|
|
82
|
+
else:
|
|
83
|
+
results = [_as_numpy(i) for i in res]
|
|
84
|
+
|
|
85
|
+
attributes = [method] * len(results)
|
|
83
86
|
|
|
84
87
|
# if estimator follows sklearn design rules, then set attributes should have a
|
|
85
88
|
# trailing underscore
|
|
86
|
-
attributes
|
|
89
|
+
attributes += [
|
|
87
90
|
i
|
|
88
91
|
for i in dir(est)
|
|
89
92
|
if hasattr(est, i) and not i.startswith("_") and i.endswith("_")
|
|
90
93
|
]
|
|
91
|
-
results
|
|
92
|
-
attributes += [method for i in res]
|
|
94
|
+
results += [getattr(est, i) for i in attributes if i != method]
|
|
93
95
|
return results, attributes
|
|
94
96
|
|
|
95
97
|
|
|
@@ -113,16 +115,16 @@ def _run_test(estimator, method, datasets):
|
|
|
113
115
|
)
|
|
114
116
|
|
|
115
117
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
SVC(),
|
|
118
|
+
_sparse_instances = [SVC()]
|
|
119
|
+
if daal_check_version((2024, "P", 700)): # Test for > 2024.7.0
|
|
120
|
+
_sparse_instances.extend(
|
|
121
|
+
[
|
|
121
122
|
KMeans(),
|
|
122
123
|
KMeans(init="random"),
|
|
124
|
+
KMeans(init="k-means++"),
|
|
123
125
|
]
|
|
124
|
-
|
|
125
|
-
)
|
|
126
|
+
)
|
|
127
|
+
SPARSE_INSTANCES = _sklearn_clone_dict({str(i): i for i in _sparse_instances})
|
|
126
128
|
|
|
127
129
|
STABILITY_INSTANCES = _sklearn_clone_dict(
|
|
128
130
|
{
|
|
@@ -143,13 +145,18 @@ STABILITY_INSTANCES = _sklearn_clone_dict(
|
|
|
143
145
|
)
|
|
144
146
|
|
|
145
147
|
|
|
146
|
-
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy"))
|
|
148
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
147
149
|
@pytest.mark.parametrize("estimator, method", gen_models_info(PATCHED_MODELS))
|
|
148
150
|
def test_standard_estimator_stability(estimator, method, dataframe, queue):
|
|
149
151
|
if estimator in ["LogisticRegression", "TSNE"]:
|
|
150
152
|
pytest.skip(f"stability not guaranteed for {estimator}")
|
|
151
|
-
if estimator in ["KMeans", "PCA"] and
|
|
153
|
+
if estimator in ["KMeans", "PCA"] and "score" in method and queue == None:
|
|
152
154
|
pytest.skip(f"variation observed in {estimator}.score")
|
|
155
|
+
if estimator in ["IncrementalEmpiricalCovariance"] and method == "mahalanobis":
|
|
156
|
+
pytest.skip("allowed fallback to sklearn occurs")
|
|
157
|
+
|
|
158
|
+
if "NearestNeighbors" in estimator and "radius" in method:
|
|
159
|
+
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
153
160
|
|
|
154
161
|
est = PATCHED_MODELS[estimator]()
|
|
155
162
|
|
|
@@ -166,13 +173,15 @@ def test_standard_estimator_stability(estimator, method, dataframe, queue):
|
|
|
166
173
|
|
|
167
174
|
|
|
168
175
|
@pytest.mark.allow_sklearn_fallback
|
|
169
|
-
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy"))
|
|
176
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
170
177
|
@pytest.mark.parametrize("estimator, method", gen_models_info(SPECIAL_INSTANCES))
|
|
171
178
|
def test_special_estimator_stability(estimator, method, dataframe, queue):
|
|
172
179
|
if queue is None and estimator in ["LogisticRegression(solver='newton-cg')"]:
|
|
173
180
|
pytest.skip(f"stability not guaranteed for {estimator}")
|
|
174
181
|
if "KMeans" in estimator and method == "score" and queue == None:
|
|
175
182
|
pytest.skip(f"variation observed in KMeans.score")
|
|
183
|
+
if "NearestNeighbors" in estimator and "radius" in method:
|
|
184
|
+
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
176
185
|
|
|
177
186
|
est = SPECIAL_INSTANCES[estimator]
|
|
178
187
|
|
|
@@ -188,12 +197,14 @@ def test_special_estimator_stability(estimator, method, dataframe, queue):
|
|
|
188
197
|
_run_test(est, method, datasets)
|
|
189
198
|
|
|
190
199
|
|
|
191
|
-
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy"))
|
|
200
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
192
201
|
@pytest.mark.parametrize("estimator, method", gen_models_info(SPARSE_INSTANCES))
|
|
193
202
|
def test_sparse_estimator_stability(estimator, method, dataframe, queue):
|
|
194
203
|
if "KMeans" in estimator and method == "score" and queue == None:
|
|
195
204
|
pytest.skip(f"variation observed in KMeans.score")
|
|
196
205
|
|
|
206
|
+
if "NearestNeighbors" in estimator and "radius" in method:
|
|
207
|
+
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
197
208
|
est = SPARSE_INSTANCES[estimator]
|
|
198
209
|
|
|
199
210
|
if method and not hasattr(est, method):
|
|
@@ -210,11 +221,13 @@ def test_sparse_estimator_stability(estimator, method, dataframe, queue):
|
|
|
210
221
|
_run_test(est, method, datasets)
|
|
211
222
|
|
|
212
223
|
|
|
213
|
-
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy"))
|
|
224
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
214
225
|
@pytest.mark.parametrize("estimator, method", gen_models_info(STABILITY_INSTANCES))
|
|
215
226
|
def test_other_estimator_stability(estimator, method, dataframe, queue):
|
|
216
227
|
if "KMeans" in estimator and method == "score" and queue == None:
|
|
217
228
|
pytest.skip(f"variation observed in KMeans.score")
|
|
229
|
+
if "NearestNeighbors" in estimator and "radius" in method:
|
|
230
|
+
pytest.skip(f"RadiusNeighbors estimator not implemented in sklearnex")
|
|
218
231
|
|
|
219
232
|
est = STABILITY_INSTANCES[estimator]
|
|
220
233
|
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ===============================================================================
|
|
16
16
|
|
|
17
|
-
from ._namespace import get_namespace
|
|
18
17
|
from .validation import _assert_all_finite
|
|
19
18
|
|
|
20
|
-
__all__ = ["
|
|
19
|
+
__all__ = ["_assert_all_finite"]
|
|
@@ -14,18 +14,16 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
# ==============================================================================
|
|
16
16
|
|
|
17
|
+
"""Tools to support array_api."""
|
|
18
|
+
|
|
17
19
|
import numpy as np
|
|
18
20
|
|
|
19
21
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
20
|
-
|
|
21
|
-
from .._device_offload import dpnp_available
|
|
22
|
+
from onedal.utils._array_api import _get_sycl_namespace
|
|
22
23
|
|
|
23
24
|
if sklearn_check_version("1.2"):
|
|
24
25
|
from sklearn.utils._array_api import get_namespace as sklearn_get_namespace
|
|
25
26
|
|
|
26
|
-
if dpnp_available:
|
|
27
|
-
import dpnp
|
|
28
|
-
|
|
29
27
|
|
|
30
28
|
def get_namespace(*arrays):
|
|
31
29
|
"""Get namespace of arrays.
|
|
@@ -74,23 +72,10 @@ def get_namespace(*arrays):
|
|
|
74
72
|
True of the arrays are containers that implement the Array API spec.
|
|
75
73
|
"""
|
|
76
74
|
|
|
77
|
-
|
|
78
|
-
sycl_type = {type(x): x for x in arrays if hasattr(x, "__sycl_usm_array_interface__")}
|
|
79
|
-
|
|
80
|
-
if len(sycl_type) > 1:
|
|
81
|
-
raise ValueError(f"Multiple SYCL types for array inputs: {sycl_type}")
|
|
75
|
+
sycl_type, xp, is_array_api_compliant = _get_sycl_namespace(*arrays)
|
|
82
76
|
|
|
83
77
|
if sycl_type:
|
|
84
|
-
|
|
85
|
-
(X,) = sycl_type.values()
|
|
86
|
-
|
|
87
|
-
if hasattr(X, "__array_namespace__"):
|
|
88
|
-
return X.__array_namespace__(), True
|
|
89
|
-
elif dpnp_available and isinstance(X, dpnp.ndarray):
|
|
90
|
-
return dpnp, False
|
|
91
|
-
else:
|
|
92
|
-
raise ValueError(f"SYCL type not recognized: {sycl_type}")
|
|
93
|
-
|
|
78
|
+
return xp, is_array_api_compliant
|
|
94
79
|
elif sklearn_check_version("1.2"):
|
|
95
80
|
return sklearn_get_namespace(*arrays)
|
|
96
81
|
else:
|
{scikit_learn_intelex-2024.6.0.dist-info → scikit_learn_intelex-2025.0.0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: scikit-learn-intelex
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2025.0.0
|
|
4
4
|
Summary: Intel(R) Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application.
|
|
5
5
|
Home-page: https://github.com/intel/scikit-learn-intelex
|
|
6
6
|
Author: Intel Corporation
|
|
@@ -31,7 +31,8 @@ Classifier: Topic :: Software Development
|
|
|
31
31
|
Requires-Python: >=3.7
|
|
32
32
|
Description-Content-Type: text/markdown
|
|
33
33
|
License-File: LICENSE.txt
|
|
34
|
-
Requires-Dist:
|
|
34
|
+
Requires-Dist: daal ==2025.0.0
|
|
35
|
+
Requires-Dist: numpy >=1.19
|
|
35
36
|
Requires-Dist: scikit-learn >=0.22
|
|
36
37
|
|
|
37
38
|
|