scikit-learn-intelex 2024.7.0__py312-none-win_amd64.whl → 2025.0.1__py312-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/_daal4py.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +424 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mb/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mb/model_builders.py +377 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +242 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +241 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +597 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +524 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +192 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +318 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1397 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +29 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +848 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +272 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +325 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +17 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +1026 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +196 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +405 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +155 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +161 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +87 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +118 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +503 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +139 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +74 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +734 -0
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +75 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +693 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/__init__.py +83 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_config.py +53 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_device_offload.py +229 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/_onedal_py_host.cp312-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +107 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +160 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +298 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +196 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/dbscan.py +110 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/kmeans.py +560 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +115 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_base.py +38 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_policy.py +59 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +30 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/hyperparameters.py +116 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +75 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/covariance.py +125 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +146 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +122 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +95 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +235 -0
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +204 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/pca.py +186 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +198 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/forest.py +720 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +258 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +329 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +249 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +168 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +107 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +149 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +778 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/get_tree.py +25 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +153 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/svm.py +556 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +351 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +168 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/test_common.py +41 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +168 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +107 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/__init__.py +49 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/_array_api.py +91 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal/utils/validation.py +432 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_device_offload.py +36 -13
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +30 -8
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +49 -16
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +383 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +153 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +28 -10
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +11 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +1 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/dispatcher.py +19 -9
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +1 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +2 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +7 -7
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +45 -26
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +418 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +4 -4
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +13 -10
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +153 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +5 -4
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +3 -3
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +2 -2
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +2 -2
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +4 -2
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +2 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +1 -1
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/preview}/__init__.py +1 -3
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +8 -8
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +2 -2
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/ridge.py +4 -4
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +307 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +37 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +184 -0
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition}/__init__.py +4 -1
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +30 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +269 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +35 -0
- scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +329 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +4 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +1 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/svc.py +1 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/_utils_spmd.py +18 -5
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +2 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -1
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +12 -11
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +1 -2
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/utils/_namespace.py → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +5 -20
- {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/METADATA +3 -2
- scikit_learn_intelex-2025.0.1.dist-info/RECORD +255 -0
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -25
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -42
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
- scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -303
- scikit_learn_intelex-2024.7.0.dist-info/RECORD +0 -122
- {scikit_learn_intelex-2024.7.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.0.1.data/data/Lib/site-packages/onedal}/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/_utils.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/_utils.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -0
- {scikit_learn_intelex-2024.7.0.data → scikit_learn_intelex-2025.0.1.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -0
- {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2024.7.0.dist-info → scikit_learn_intelex-2025.0.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,329 @@
|
|
|
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 pytest
|
|
19
|
+
from numpy.testing import assert_allclose
|
|
20
|
+
|
|
21
|
+
from onedal.tests.utils._dataframes_support import (
|
|
22
|
+
_as_numpy,
|
|
23
|
+
_convert_to_dataframe,
|
|
24
|
+
get_dataframes_and_queues,
|
|
25
|
+
)
|
|
26
|
+
from sklearnex.tests._utils_spmd import (
|
|
27
|
+
_generate_regression_data,
|
|
28
|
+
_get_local_tensor,
|
|
29
|
+
_mpi_libs_and_gpu_available,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@pytest.mark.skipif(
|
|
34
|
+
not _mpi_libs_and_gpu_available,
|
|
35
|
+
reason="GPU device and MPI libs required for test",
|
|
36
|
+
)
|
|
37
|
+
@pytest.mark.parametrize(
|
|
38
|
+
"dataframe,queue",
|
|
39
|
+
get_dataframes_and_queues(dataframe_filter_="dpnp,dpctl", device_filter_="gpu"),
|
|
40
|
+
)
|
|
41
|
+
@pytest.mark.parametrize("fit_intercept", [True, False])
|
|
42
|
+
@pytest.mark.parametrize("macro_block", [None, 1024])
|
|
43
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
44
|
+
@pytest.mark.mpi
|
|
45
|
+
def test_incremental_linear_regression_fit_spmd_gold(
|
|
46
|
+
dataframe, queue, fit_intercept, macro_block, dtype
|
|
47
|
+
):
|
|
48
|
+
# Import spmd and non-SPMD algo
|
|
49
|
+
from sklearnex.linear_model import IncrementalLinearRegression
|
|
50
|
+
from sklearnex.spmd.linear_model import (
|
|
51
|
+
IncrementalLinearRegression as IncrementalLinearRegression_SPMD,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
# Create gold data and process into dpt
|
|
55
|
+
X = np.array(
|
|
56
|
+
[
|
|
57
|
+
[0.0, 0.0],
|
|
58
|
+
[1.0, 2.0],
|
|
59
|
+
[2.0, 4.0],
|
|
60
|
+
[3.0, 8.0],
|
|
61
|
+
[4.0, 16.0],
|
|
62
|
+
[5.0, 32.0],
|
|
63
|
+
[6.0, 64.0],
|
|
64
|
+
[7.0, 128.0],
|
|
65
|
+
[8.0, 0.0],
|
|
66
|
+
[9.0, 2.0],
|
|
67
|
+
[10.0, 4.0],
|
|
68
|
+
[11.0, 8.0],
|
|
69
|
+
[12.0, 16.0],
|
|
70
|
+
[13.0, 32.0],
|
|
71
|
+
[14.0, 64.0],
|
|
72
|
+
[15.0, 128.0],
|
|
73
|
+
],
|
|
74
|
+
dtype=dtype,
|
|
75
|
+
)
|
|
76
|
+
dpt_X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
77
|
+
local_X = _get_local_tensor(X)
|
|
78
|
+
local_dpt_X = _convert_to_dataframe(local_X, sycl_queue=queue, target_df=dataframe)
|
|
79
|
+
|
|
80
|
+
y = np.dot(X, [1, 2]) + 3
|
|
81
|
+
dpt_y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
|
|
82
|
+
local_y = _get_local_tensor(y)
|
|
83
|
+
local_dpt_y = _convert_to_dataframe(local_y, sycl_queue=queue, target_df=dataframe)
|
|
84
|
+
|
|
85
|
+
inclin_spmd = IncrementalLinearRegression_SPMD(fit_intercept=fit_intercept)
|
|
86
|
+
inclin = IncrementalLinearRegression(fit_intercept=fit_intercept)
|
|
87
|
+
|
|
88
|
+
if macro_block is not None:
|
|
89
|
+
hparams = inclin.get_hyperparameters("fit")
|
|
90
|
+
hparams.cpu_macro_block = macro_block
|
|
91
|
+
hparams.gpu_macro_block = macro_block
|
|
92
|
+
|
|
93
|
+
hparams_spmd = inclin_spmd.get_hyperparameters("fit")
|
|
94
|
+
hparams_spmd.cpu_macro_block = macro_block
|
|
95
|
+
hparams_spmd.gpu_macro_block = macro_block
|
|
96
|
+
|
|
97
|
+
inclin_spmd.fit(local_dpt_X, local_dpt_y)
|
|
98
|
+
inclin.fit(dpt_X, dpt_y)
|
|
99
|
+
|
|
100
|
+
assert_allclose(inclin.coef_, inclin_spmd.coef_)
|
|
101
|
+
if fit_intercept:
|
|
102
|
+
assert_allclose(inclin.intercept_, inclin_spmd.intercept_)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@pytest.mark.skipif(
|
|
106
|
+
not _mpi_libs_and_gpu_available,
|
|
107
|
+
reason="GPU device and MPI libs required for test",
|
|
108
|
+
)
|
|
109
|
+
@pytest.mark.parametrize(
|
|
110
|
+
"dataframe,queue",
|
|
111
|
+
get_dataframes_and_queues(dataframe_filter_="dpnp,dpctl", device_filter_="gpu"),
|
|
112
|
+
)
|
|
113
|
+
@pytest.mark.parametrize("fit_intercept", [True, False])
|
|
114
|
+
@pytest.mark.parametrize("num_blocks", [1, 2])
|
|
115
|
+
@pytest.mark.parametrize("macro_block", [None, 1024])
|
|
116
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
117
|
+
@pytest.mark.mpi
|
|
118
|
+
def test_incremental_linear_regression_partial_fit_spmd_gold(
|
|
119
|
+
dataframe, queue, fit_intercept, num_blocks, macro_block, dtype
|
|
120
|
+
):
|
|
121
|
+
# Import spmd and non-SPMD algo
|
|
122
|
+
from sklearnex.linear_model import IncrementalLinearRegression
|
|
123
|
+
from sklearnex.spmd.linear_model import (
|
|
124
|
+
IncrementalLinearRegression as IncrementalLinearRegression_SPMD,
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
# Create gold data and process into dpt
|
|
128
|
+
X = np.array(
|
|
129
|
+
[
|
|
130
|
+
[0.0, 0.0],
|
|
131
|
+
[1.0, 2.0],
|
|
132
|
+
[2.0, 4.0],
|
|
133
|
+
[3.0, 8.0],
|
|
134
|
+
[4.0, 16.0],
|
|
135
|
+
[5.0, 32.0],
|
|
136
|
+
[6.0, 64.0],
|
|
137
|
+
[7.0, 128.0],
|
|
138
|
+
[8.0, 0.0],
|
|
139
|
+
[9.0, 2.0],
|
|
140
|
+
[10.0, 4.0],
|
|
141
|
+
[11.0, 8.0],
|
|
142
|
+
[12.0, 16.0],
|
|
143
|
+
[13.0, 32.0],
|
|
144
|
+
[14.0, 64.0],
|
|
145
|
+
[15.0, 128.0],
|
|
146
|
+
],
|
|
147
|
+
dtype=dtype,
|
|
148
|
+
)
|
|
149
|
+
dpt_X = _convert_to_dataframe(X, sycl_queue=queue, target_df=dataframe)
|
|
150
|
+
local_X = _get_local_tensor(X)
|
|
151
|
+
split_local_X = np.array_split(local_X, num_blocks)
|
|
152
|
+
|
|
153
|
+
y = np.dot(X, [1, 2]) + 3
|
|
154
|
+
dpt_y = _convert_to_dataframe(y, sycl_queue=queue, target_df=dataframe)
|
|
155
|
+
local_y = _get_local_tensor(y)
|
|
156
|
+
split_local_y = np.array_split(local_y, num_blocks)
|
|
157
|
+
|
|
158
|
+
inclin_spmd = IncrementalLinearRegression_SPMD(fit_intercept=fit_intercept)
|
|
159
|
+
inclin = IncrementalLinearRegression(fit_intercept=fit_intercept)
|
|
160
|
+
|
|
161
|
+
if macro_block is not None:
|
|
162
|
+
hparams = inclin.get_hyperparameters("fit")
|
|
163
|
+
hparams.cpu_macro_block = macro_block
|
|
164
|
+
hparams.gpu_macro_block = macro_block
|
|
165
|
+
|
|
166
|
+
hparams_spmd = inclin_spmd.get_hyperparameters("fit")
|
|
167
|
+
hparams_spmd.cpu_macro_block = macro_block
|
|
168
|
+
hparams_spmd.gpu_macro_block = macro_block
|
|
169
|
+
|
|
170
|
+
for i in range(num_blocks):
|
|
171
|
+
local_dpt_X = _convert_to_dataframe(
|
|
172
|
+
split_local_X[i], sycl_queue=queue, target_df=dataframe
|
|
173
|
+
)
|
|
174
|
+
local_dpt_y = _convert_to_dataframe(
|
|
175
|
+
split_local_y[i], sycl_queue=queue, target_df=dataframe
|
|
176
|
+
)
|
|
177
|
+
inclin_spmd.partial_fit(local_dpt_X, local_dpt_y)
|
|
178
|
+
|
|
179
|
+
inclin.fit(dpt_X, dpt_y)
|
|
180
|
+
|
|
181
|
+
assert_allclose(inclin.coef_, inclin_spmd.coef_)
|
|
182
|
+
if fit_intercept:
|
|
183
|
+
assert_allclose(inclin.intercept_, inclin_spmd.intercept_)
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
@pytest.mark.skipif(
|
|
187
|
+
not _mpi_libs_and_gpu_available,
|
|
188
|
+
reason="GPU device and MPI libs required for test",
|
|
189
|
+
)
|
|
190
|
+
@pytest.mark.parametrize(
|
|
191
|
+
"dataframe,queue",
|
|
192
|
+
get_dataframes_and_queues(dataframe_filter_="dpnp,dpctl", device_filter_="gpu"),
|
|
193
|
+
)
|
|
194
|
+
@pytest.mark.parametrize("fit_intercept", [True, False])
|
|
195
|
+
@pytest.mark.parametrize("num_samples", [100, 1000])
|
|
196
|
+
@pytest.mark.parametrize("num_features", [5, 10])
|
|
197
|
+
@pytest.mark.parametrize("macro_block", [None, 1024])
|
|
198
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
199
|
+
@pytest.mark.mpi
|
|
200
|
+
def test_incremental_linear_regression_fit_spmd_random(
|
|
201
|
+
dataframe, queue, fit_intercept, num_samples, num_features, macro_block, dtype
|
|
202
|
+
):
|
|
203
|
+
# Import spmd and non-SPMD algo
|
|
204
|
+
from sklearnex.linear_model import IncrementalLinearRegression
|
|
205
|
+
from sklearnex.spmd.linear_model import (
|
|
206
|
+
IncrementalLinearRegression as IncrementalLinearRegression_SPMD,
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
tol = 2e-4 if dtype == np.float32 else 1e-7
|
|
210
|
+
|
|
211
|
+
# Generate random data and process into dpt
|
|
212
|
+
X_train, X_test, y_train, _ = _generate_regression_data(
|
|
213
|
+
num_samples, num_features, dtype
|
|
214
|
+
)
|
|
215
|
+
dpt_X = _convert_to_dataframe(X_train, sycl_queue=queue, target_df=dataframe)
|
|
216
|
+
dpt_X_test = _convert_to_dataframe(X_test, sycl_queue=queue, target_df=dataframe)
|
|
217
|
+
local_X = _get_local_tensor(X_train)
|
|
218
|
+
local_dpt_X = _convert_to_dataframe(local_X, sycl_queue=queue, target_df=dataframe)
|
|
219
|
+
|
|
220
|
+
dpt_y = _convert_to_dataframe(y_train, sycl_queue=queue, target_df=dataframe)
|
|
221
|
+
local_y = _get_local_tensor(y_train)
|
|
222
|
+
local_dpt_y = _convert_to_dataframe(local_y, sycl_queue=queue, target_df=dataframe)
|
|
223
|
+
|
|
224
|
+
inclin_spmd = IncrementalLinearRegression_SPMD(fit_intercept=fit_intercept)
|
|
225
|
+
inclin = IncrementalLinearRegression(fit_intercept=fit_intercept)
|
|
226
|
+
|
|
227
|
+
if macro_block is not None:
|
|
228
|
+
hparams = inclin.get_hyperparameters("fit")
|
|
229
|
+
hparams.cpu_macro_block = macro_block
|
|
230
|
+
hparams.gpu_macro_block = macro_block
|
|
231
|
+
|
|
232
|
+
hparams_spmd = inclin_spmd.get_hyperparameters("fit")
|
|
233
|
+
hparams_spmd.cpu_macro_block = macro_block
|
|
234
|
+
hparams_spmd.gpu_macro_block = macro_block
|
|
235
|
+
|
|
236
|
+
inclin_spmd.fit(local_dpt_X, local_dpt_y)
|
|
237
|
+
inclin.fit(dpt_X, dpt_y)
|
|
238
|
+
|
|
239
|
+
assert_allclose(inclin.coef_, inclin_spmd.coef_, atol=tol)
|
|
240
|
+
if fit_intercept:
|
|
241
|
+
assert_allclose(inclin.intercept_, inclin_spmd.intercept_, atol=tol)
|
|
242
|
+
|
|
243
|
+
y_pred_spmd = inclin_spmd.predict(dpt_X_test)
|
|
244
|
+
y_pred = inclin.predict(dpt_X_test)
|
|
245
|
+
|
|
246
|
+
assert_allclose(_as_numpy(y_pred_spmd), _as_numpy(y_pred), atol=tol)
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
@pytest.mark.skipif(
|
|
250
|
+
not _mpi_libs_and_gpu_available,
|
|
251
|
+
reason="GPU device and MPI libs required for test",
|
|
252
|
+
)
|
|
253
|
+
@pytest.mark.parametrize(
|
|
254
|
+
"dataframe,queue",
|
|
255
|
+
get_dataframes_and_queues(dataframe_filter_="dpnp,dpctl", device_filter_="gpu"),
|
|
256
|
+
)
|
|
257
|
+
@pytest.mark.parametrize("fit_intercept", [True, False])
|
|
258
|
+
@pytest.mark.parametrize("num_blocks", [1, 2])
|
|
259
|
+
@pytest.mark.parametrize("num_samples", [100, 1000])
|
|
260
|
+
@pytest.mark.parametrize("num_features", [5, 10])
|
|
261
|
+
@pytest.mark.parametrize("macro_block", [None, 1024])
|
|
262
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
263
|
+
@pytest.mark.mpi
|
|
264
|
+
def test_incremental_linear_regression_partial_fit_spmd_random(
|
|
265
|
+
dataframe,
|
|
266
|
+
queue,
|
|
267
|
+
fit_intercept,
|
|
268
|
+
num_blocks,
|
|
269
|
+
num_samples,
|
|
270
|
+
num_features,
|
|
271
|
+
macro_block,
|
|
272
|
+
dtype,
|
|
273
|
+
):
|
|
274
|
+
# Import spmd and non-SPMD algo
|
|
275
|
+
from sklearnex.linear_model import IncrementalLinearRegression
|
|
276
|
+
from sklearnex.spmd.linear_model import (
|
|
277
|
+
IncrementalLinearRegression as IncrementalLinearRegression_SPMD,
|
|
278
|
+
)
|
|
279
|
+
|
|
280
|
+
tol = 3e-4 if dtype == np.float32 else 1e-7
|
|
281
|
+
|
|
282
|
+
# Generate random data and process into dpt
|
|
283
|
+
X_train, X_test, y_train, _ = _generate_regression_data(
|
|
284
|
+
num_samples, num_features, dtype, 573
|
|
285
|
+
)
|
|
286
|
+
dpt_X = _convert_to_dataframe(X_train, sycl_queue=queue, target_df=dataframe)
|
|
287
|
+
dpt_X_test = _convert_to_dataframe(X_test, sycl_queue=queue, target_df=dataframe)
|
|
288
|
+
local_X = _get_local_tensor(X_train)
|
|
289
|
+
X_split = np.array_split(X_train, num_blocks)
|
|
290
|
+
split_local_X = np.array_split(local_X, num_blocks)
|
|
291
|
+
|
|
292
|
+
dpt_y = _convert_to_dataframe(y_train, sycl_queue=queue, target_df=dataframe)
|
|
293
|
+
y_split = np.array_split(y_train, num_blocks)
|
|
294
|
+
local_y = _get_local_tensor(y_train)
|
|
295
|
+
split_local_y = np.array_split(local_y, num_blocks)
|
|
296
|
+
|
|
297
|
+
inclin_spmd = IncrementalLinearRegression_SPMD(fit_intercept=fit_intercept)
|
|
298
|
+
inclin = IncrementalLinearRegression(fit_intercept=fit_intercept)
|
|
299
|
+
|
|
300
|
+
if macro_block is not None:
|
|
301
|
+
hparams = inclin.get_hyperparameters("fit")
|
|
302
|
+
hparams.cpu_macro_block = macro_block
|
|
303
|
+
hparams.gpu_macro_block = macro_block
|
|
304
|
+
|
|
305
|
+
hparams_spmd = inclin_spmd.get_hyperparameters("fit")
|
|
306
|
+
hparams_spmd.cpu_macro_block = macro_block
|
|
307
|
+
hparams_spmd.gpu_macro_block = macro_block
|
|
308
|
+
|
|
309
|
+
for i in range(num_blocks):
|
|
310
|
+
local_dpt_X = _convert_to_dataframe(
|
|
311
|
+
split_local_X[i], sycl_queue=queue, target_df=dataframe
|
|
312
|
+
)
|
|
313
|
+
local_dpt_y = _convert_to_dataframe(
|
|
314
|
+
split_local_y[i], sycl_queue=queue, target_df=dataframe
|
|
315
|
+
)
|
|
316
|
+
dpt_X = _convert_to_dataframe(X_split[i], sycl_queue=queue, target_df=dataframe)
|
|
317
|
+
dpt_y = _convert_to_dataframe(y_split[i], sycl_queue=queue, target_df=dataframe)
|
|
318
|
+
|
|
319
|
+
inclin_spmd.partial_fit(local_dpt_X, local_dpt_y)
|
|
320
|
+
inclin.partial_fit(dpt_X, dpt_y)
|
|
321
|
+
|
|
322
|
+
assert_allclose(inclin.coef_, inclin_spmd.coef_, atol=tol)
|
|
323
|
+
if fit_intercept:
|
|
324
|
+
assert_allclose(inclin.intercept_, inclin_spmd.intercept_, atol=tol)
|
|
325
|
+
|
|
326
|
+
y_pred_spmd = inclin_spmd.predict(dpt_X_test)
|
|
327
|
+
y_pred = inclin.predict(dpt_X_test)
|
|
328
|
+
|
|
329
|
+
assert_allclose(_as_numpy(y_pred_spmd), _as_numpy(y_pred), atol=tol)
|
|
@@ -116,7 +116,10 @@ def test_logistic_spmd_gold(dataframe, queue):
|
|
|
116
116
|
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
117
117
|
@pytest.mark.mpi
|
|
118
118
|
def test_logistic_spmd_synthetic(n_samples, n_features, C, tol, dataframe, queue, dtype):
|
|
119
|
-
|
|
119
|
+
if dtype == np.float64:
|
|
120
|
+
pytest.skip(
|
|
121
|
+
"Sporadic failures on coef_ check. Test disabled while fix in progress"
|
|
122
|
+
)
|
|
120
123
|
# TODO: Resolve numerical issues when n_rows_rank < n_cols
|
|
121
124
|
if n_samples <= n_features:
|
|
122
125
|
pytest.skip("Numerical issues when rank rows < columns")
|
|
@@ -22,9 +22,9 @@ from sklearn.utils.validation import _deprecate_positional_args
|
|
|
22
22
|
|
|
23
23
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
24
24
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
25
|
-
from sklearnex.utils import get_namespace
|
|
26
25
|
|
|
27
26
|
from .._device_offload import dispatch, wrap_output_data
|
|
27
|
+
from ..utils._array_api import get_namespace
|
|
28
28
|
from ._common import BaseSVC
|
|
29
29
|
|
|
30
30
|
if sklearn_check_version("1.0"):
|
|
@@ -23,10 +23,10 @@ from sklearn.utils.validation import _deprecate_positional_args
|
|
|
23
23
|
|
|
24
24
|
from daal4py.sklearn._n_jobs_support import control_n_jobs
|
|
25
25
|
from daal4py.sklearn._utils import sklearn_check_version
|
|
26
|
-
from sklearnex.utils import get_namespace
|
|
27
26
|
|
|
28
27
|
from .._device_offload import dispatch, wrap_output_data
|
|
29
28
|
from .._utils import PatchingConditionsChain
|
|
29
|
+
from ..utils._array_api import get_namespace
|
|
30
30
|
from ._common import BaseSVC
|
|
31
31
|
|
|
32
32
|
if sklearn_check_version("1.0"):
|
|
@@ -89,10 +89,16 @@ def _generate_classification_data(
|
|
|
89
89
|
return X_train, X_test, y_train, y_test
|
|
90
90
|
|
|
91
91
|
|
|
92
|
-
def _generate_statistic_data(
|
|
92
|
+
def _generate_statistic_data(
|
|
93
|
+
n_samples, n_features=None, dtype=np.float64, random_state=42
|
|
94
|
+
):
|
|
93
95
|
# Generates statistical data
|
|
94
96
|
gen = np.random.default_rng(random_state)
|
|
95
|
-
data = gen.uniform(
|
|
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)
|
|
96
102
|
return data
|
|
97
103
|
|
|
98
104
|
|
|
@@ -146,8 +152,11 @@ def _assert_unordered_allclose(spmd_result, batch_result, localize=False, **kwar
|
|
|
146
152
|
Raises:
|
|
147
153
|
AssertionError: If results do not match.
|
|
148
154
|
"""
|
|
155
|
+
np_spmd_result = _as_numpy(spmd_result)
|
|
149
156
|
|
|
150
|
-
sorted_spmd_result =
|
|
157
|
+
sorted_spmd_result = np_spmd_result[
|
|
158
|
+
np.argsort(np.linalg.norm(np_spmd_result, axis=1))
|
|
159
|
+
]
|
|
151
160
|
if localize:
|
|
152
161
|
local_batch_result = _get_local_tensor(batch_result)
|
|
153
162
|
sorted_batch_result = local_batch_result[
|
|
@@ -158,7 +167,7 @@ def _assert_unordered_allclose(spmd_result, batch_result, localize=False, **kwar
|
|
|
158
167
|
np.argsort(np.linalg.norm(batch_result, axis=1))
|
|
159
168
|
]
|
|
160
169
|
|
|
161
|
-
assert_allclose(
|
|
170
|
+
assert_allclose(sorted_spmd_result, sorted_batch_result, **kwargs)
|
|
162
171
|
|
|
163
172
|
|
|
164
173
|
def _assert_kmeans_labels_allclose(
|
|
@@ -179,7 +188,11 @@ def _assert_kmeans_labels_allclose(
|
|
|
179
188
|
AssertionError: If clusters are not correctly assigned.
|
|
180
189
|
"""
|
|
181
190
|
|
|
191
|
+
np_spmd_labels = _as_numpy(spmd_labels)
|
|
192
|
+
np_spmd_centers = _as_numpy(spmd_centers)
|
|
182
193
|
local_batch_labels = _get_local_tensor(batch_labels)
|
|
183
194
|
assert_allclose(
|
|
184
|
-
|
|
195
|
+
np_spmd_centers[np_spmd_labels],
|
|
196
|
+
batch_centers[local_batch_labels],
|
|
197
|
+
**kwargs,
|
|
185
198
|
)
|
|
@@ -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
|
|
|
@@ -133,7 +133,6 @@ def test_standard_estimator_patching(caplog, dataframe, queue, dtype, estimator,
|
|
|
133
133
|
elif dtype == np.float64 and not queue.sycl_device.has_aspect_fp64:
|
|
134
134
|
pytest.skip("Hardware does not support fp64 SYCL testing")
|
|
135
135
|
elif queue.sycl_device.is_gpu and estimator in [
|
|
136
|
-
"KMeans",
|
|
137
136
|
"ElasticNet",
|
|
138
137
|
"Lasso",
|
|
139
138
|
"Ridge",
|
|
@@ -40,6 +40,7 @@ from sklearn.datasets import (
|
|
|
40
40
|
)
|
|
41
41
|
|
|
42
42
|
import daal4py as d4p
|
|
43
|
+
from daal4py.sklearn._utils import daal_check_version
|
|
43
44
|
from onedal.tests.utils._dataframes_support import _as_numpy, get_dataframes_and_queues
|
|
44
45
|
from sklearnex.cluster import DBSCAN, KMeans
|
|
45
46
|
from sklearnex.decomposition import PCA
|
|
@@ -114,16 +115,16 @@ def _run_test(estimator, method, datasets):
|
|
|
114
115
|
)
|
|
115
116
|
|
|
116
117
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
SVC(),
|
|
118
|
+
_sparse_instances = [SVC()]
|
|
119
|
+
if daal_check_version((2024, "P", 700)): # Test for > 2024.7.0
|
|
120
|
+
_sparse_instances.extend(
|
|
121
|
+
[
|
|
122
122
|
KMeans(),
|
|
123
123
|
KMeans(init="random"),
|
|
124
|
+
KMeans(init="k-means++"),
|
|
124
125
|
]
|
|
125
|
-
|
|
126
|
-
)
|
|
126
|
+
)
|
|
127
|
+
SPARSE_INSTANCES = _sklearn_clone_dict({str(i): i for i in _sparse_instances})
|
|
127
128
|
|
|
128
129
|
STABILITY_INSTANCES = _sklearn_clone_dict(
|
|
129
130
|
{
|
|
@@ -144,7 +145,7 @@ STABILITY_INSTANCES = _sklearn_clone_dict(
|
|
|
144
145
|
)
|
|
145
146
|
|
|
146
147
|
|
|
147
|
-
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy"))
|
|
148
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
148
149
|
@pytest.mark.parametrize("estimator, method", gen_models_info(PATCHED_MODELS))
|
|
149
150
|
def test_standard_estimator_stability(estimator, method, dataframe, queue):
|
|
150
151
|
if estimator in ["LogisticRegression", "TSNE"]:
|
|
@@ -172,7 +173,7 @@ def test_standard_estimator_stability(estimator, method, dataframe, queue):
|
|
|
172
173
|
|
|
173
174
|
|
|
174
175
|
@pytest.mark.allow_sklearn_fallback
|
|
175
|
-
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy"))
|
|
176
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
176
177
|
@pytest.mark.parametrize("estimator, method", gen_models_info(SPECIAL_INSTANCES))
|
|
177
178
|
def test_special_estimator_stability(estimator, method, dataframe, queue):
|
|
178
179
|
if queue is None and estimator in ["LogisticRegression(solver='newton-cg')"]:
|
|
@@ -196,7 +197,7 @@ def test_special_estimator_stability(estimator, method, dataframe, queue):
|
|
|
196
197
|
_run_test(est, method, datasets)
|
|
197
198
|
|
|
198
199
|
|
|
199
|
-
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy"))
|
|
200
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
200
201
|
@pytest.mark.parametrize("estimator, method", gen_models_info(SPARSE_INSTANCES))
|
|
201
202
|
def test_sparse_estimator_stability(estimator, method, dataframe, queue):
|
|
202
203
|
if "KMeans" in estimator and method == "score" and queue == None:
|
|
@@ -220,7 +221,7 @@ def test_sparse_estimator_stability(estimator, method, dataframe, queue):
|
|
|
220
221
|
_run_test(est, method, datasets)
|
|
221
222
|
|
|
222
223
|
|
|
223
|
-
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy"))
|
|
224
|
+
@pytest.mark.parametrize("dataframe, queue", get_dataframes_and_queues("numpy,array_api"))
|
|
224
225
|
@pytest.mark.parametrize("estimator, method", gen_models_info(STABILITY_INSTANCES))
|
|
225
226
|
def test_other_estimator_stability(estimator, method, dataframe, queue):
|
|
226
227
|
if "KMeans" in estimator and method == "score" and queue == None:
|
|
@@ -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.7.0.dist-info → scikit_learn_intelex-2025.0.1.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.1
|
|
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.1
|
|
35
|
+
Requires-Dist: numpy >=1.19
|
|
35
36
|
Requires-Dist: scikit-learn >=0.22
|
|
36
37
|
|
|
37
38
|
|