scikit-learn-intelex 2024.2.0__py39-none-win_amd64.whl → 2025.1.0__py39-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.1.0.data/data/Lib/site-packages/daal4py/__init__.py +73 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/__main__.py +58 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/_daal4py.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +424 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py +377 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/__init__.py +40 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +248 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/_utils.py +245 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +165 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +597 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +109 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/spmd → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn}/decomposition/__init__.py +2 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +524 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +196 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +337 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +27 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +1397 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +206 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn}/linear_model/__init__.py +29 -28
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +848 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +272 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +325 -0
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +2 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +17 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +195 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +1026 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +17 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +208 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +69 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/cluster → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/manifold}/__init__.py +3 -3
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +405 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +236 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +210 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +309 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +56 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +232 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch}/tests/_models_info.py +13 -22
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +71 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch}/tests/test_patching.py +10 -56
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/monkeypatch}/tests/utils/_launch_algorithms.py +4 -5
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +21 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +503 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +139 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +74 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +55 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +113 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +734 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/spmd/covariance → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/utils}/__init__.py +5 -3
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/utils/base.py +75 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +51 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +693 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/__init__.py +83 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_config.py +54 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_device_offload.py +222 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp39-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +107 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +160 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +298 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +196 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/__init__.py +27 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/dbscan.py +110 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/kmeans.py +564 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/kmeans_init.py +115 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +125 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +88 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +93 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_base.py +38 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_estimator_checks.py +47 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_mixin.py +62 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_policy.py +59 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +30 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/hyperparameters.py +125 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +76 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/covariance.py +125 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +146 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +50 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +122 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +154 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/tests/common.py +126 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +414 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/basic_statistics → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition}/__init__.py +3 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +204 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition/pca.py +186 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +198 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/ensemble/__init__.py +29 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/ensemble/forest.py +727 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +97 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/__init__.py +27 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +258 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/linear_model.py +329 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +249 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +168 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +107 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +250 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +95 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +95 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/neighbors/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/neighbors/neighbors.py +767 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +49 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/primitives/__init__.py +27 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/primitives/get_tree.py +25 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/primitives/kernel_functions.py +153 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +159 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/svm.py +556 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +351 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +204 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +210 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_svc.py +176 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/svm/tests/test_svr.py +243 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/tests/test_common.py +57 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +162 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +102 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/utils/__init__.py +49 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/utils/_array_api.py +81 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +56 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/utils/validation.py +440 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/__init__.py +10 -7
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/_config.py +22 -16
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +126 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/_utils.py +27 -4
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +230 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +345 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +270 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +404 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +1 -1
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +16 -7
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +395 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +8 -6
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +159 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/conftest.py +82 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +398 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +111 -17
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +425 -0
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_preview_pca.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +25 -9
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +222 -42
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +249 -182
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +39 -21
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +16 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/__init__.py +32 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +13 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +482 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +425 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +341 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +182 -102
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +7 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +207 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +153 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +167 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +45 -4
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +4 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +5 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +3 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +5 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +97 -28
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +53 -6
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +48 -149
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +43 -144
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +50 -93
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +6 -9
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +24 -18
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +18 -5
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +19 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +233 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +266 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/decomposition → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model}/__init__.py +19 -19
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/ridge.py +424 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +102 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +30 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +107 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +307 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +97 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +172 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +20 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +37 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +107 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +184 -0
- {scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/spmd/basic_statistics → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition}/__init__.py +3 -2
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +30 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +269 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +128 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +4 -12
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +265 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +2 -1
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py → scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +14 -18
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +329 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +145 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +162 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +288 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +339 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +168 -73
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +71 -66
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +166 -72
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +64 -63
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +12 -20
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_common.py +390 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_config.py +123 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +379 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +276 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +108 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +6 -8
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_patching.py +385 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +321 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +44 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/utils/base.py +371 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +198 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/_array_api.py +82 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +89 -0
- {scikit_learn_intelex-2024.2.0.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/METADATA +231 -230
- scikit_learn_intelex-2025.1.0.dist-info/RECORD +257 -0
- {scikit_learn_intelex-2024.2.0.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/WHEEL +1 -1
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -223
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/cluster/k_means.py +0 -17
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -30
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +0 -130
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -17
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -27
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/linear_model/linear.py +0 -381
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/linear_model/logistic_path.py +0 -17
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +0 -82
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/cluster/_common.py +0 -84
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/cluster/k_means.py +0 -371
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/preview/decomposition/pca.py +0 -374
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/svm/_common.py +0 -188
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +0 -222
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +0 -240
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -93
- scikit_learn_intelex-2024.2.0.data/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability_tests.py +0 -428
- scikit_learn_intelex-2024.2.0.dist-info/RECORD +0 -101
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2024.2.0.data → scikit_learn_intelex-2025.1.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +0 -0
- {scikit_learn_intelex-2024.2.0.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2024.2.0.dist-info → scikit_learn_intelex-2025.1.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,390 @@
|
|
|
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 importlib.util
|
|
18
|
+
import os
|
|
19
|
+
import pathlib
|
|
20
|
+
import pkgutil
|
|
21
|
+
import re
|
|
22
|
+
import sys
|
|
23
|
+
import trace
|
|
24
|
+
|
|
25
|
+
import pytest
|
|
26
|
+
from sklearn.utils import all_estimators
|
|
27
|
+
|
|
28
|
+
from daal4py.sklearn._utils import sklearn_check_version
|
|
29
|
+
from onedal.tests.test_common import _check_primitive_usage_ban
|
|
30
|
+
from sklearnex.tests.utils import (
|
|
31
|
+
PATCHED_MODELS,
|
|
32
|
+
SPECIAL_INSTANCES,
|
|
33
|
+
call_method,
|
|
34
|
+
gen_dataset,
|
|
35
|
+
gen_models_info,
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
TARGET_OFFLOAD_ALLOWED_LOCATIONS = [
|
|
39
|
+
"_config.py",
|
|
40
|
+
"_device_offload.py",
|
|
41
|
+
"test",
|
|
42
|
+
"svc.py",
|
|
43
|
+
"svm" + os.sep + "_common.py",
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
_DESIGN_RULE_VIOLATIONS = {
|
|
47
|
+
"PCA-fit_transform-call_validate_data": "calls both 'fit' and 'transform'",
|
|
48
|
+
"IncrementalEmpiricalCovariance-score-call_validate_data": "must call clone of itself",
|
|
49
|
+
"SVC(probability=True)-fit-call_validate_data": "SVC fit can use sklearn estimator",
|
|
50
|
+
"NuSVC(probability=True)-fit-call_validate_data": "NuSVC fit can use sklearn estimator",
|
|
51
|
+
"LogisticRegression-score-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
52
|
+
"LogisticRegression-fit-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
53
|
+
"LogisticRegression-predict-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
54
|
+
"LogisticRegression-predict_log_proba-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
55
|
+
"LogisticRegression-predict_proba-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
56
|
+
"KNeighborsClassifier-kneighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
57
|
+
"KNeighborsClassifier-fit-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
58
|
+
"KNeighborsClassifier-score-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
59
|
+
"KNeighborsClassifier-predict-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
60
|
+
"KNeighborsClassifier-predict_proba-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
61
|
+
"KNeighborsClassifier-kneighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
62
|
+
"KNeighborsRegressor-kneighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
63
|
+
"KNeighborsRegressor-fit-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
64
|
+
"KNeighborsRegressor-score-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
65
|
+
"KNeighborsRegressor-predict-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
66
|
+
"KNeighborsRegressor-kneighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
67
|
+
"NearestNeighbors-kneighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
68
|
+
"NearestNeighbors-fit-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
69
|
+
"NearestNeighbors-radius_neighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
70
|
+
"NearestNeighbors-kneighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
71
|
+
"NearestNeighbors-radius_neighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
72
|
+
"LocalOutlierFactor-fit-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
73
|
+
"LocalOutlierFactor-kneighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
74
|
+
"LocalOutlierFactor-kneighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
75
|
+
"KNeighborsClassifier(algorithm='brute')-kneighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
76
|
+
"KNeighborsClassifier(algorithm='brute')-fit-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
77
|
+
"KNeighborsClassifier(algorithm='brute')-score-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
78
|
+
"KNeighborsClassifier(algorithm='brute')-predict-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
79
|
+
"KNeighborsClassifier(algorithm='brute')-predict_proba-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
80
|
+
"KNeighborsClassifier(algorithm='brute')-kneighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
81
|
+
"KNeighborsRegressor(algorithm='brute')-kneighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
82
|
+
"KNeighborsRegressor(algorithm='brute')-fit-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
83
|
+
"KNeighborsRegressor(algorithm='brute')-score-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
84
|
+
"KNeighborsRegressor(algorithm='brute')-predict-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
85
|
+
"KNeighborsRegressor(algorithm='brute')-kneighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
86
|
+
"NearestNeighbors(algorithm='brute')-kneighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
87
|
+
"NearestNeighbors(algorithm='brute')-fit-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
88
|
+
"NearestNeighbors(algorithm='brute')-radius_neighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
89
|
+
"NearestNeighbors(algorithm='brute')-kneighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
90
|
+
"NearestNeighbors(algorithm='brute')-radius_neighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
91
|
+
"LocalOutlierFactor(novelty=True)-fit-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
92
|
+
"LocalOutlierFactor(novelty=True)-kneighbors-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
93
|
+
"LocalOutlierFactor(novelty=True)-kneighbors_graph-n_jobs_check": "uses daal4py for cpu in onedal",
|
|
94
|
+
"LogisticRegression(solver='newton-cg')-score-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
95
|
+
"LogisticRegression(solver='newton-cg')-fit-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
96
|
+
"LogisticRegression(solver='newton-cg')-predict-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
97
|
+
"LogisticRegression(solver='newton-cg')-predict_log_proba-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
98
|
+
"LogisticRegression(solver='newton-cg')-predict_proba-n_jobs_check": "uses daal4py for cpu in sklearnex",
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def test_target_offload_ban():
|
|
103
|
+
"""This test blocks the use of target_offload in
|
|
104
|
+
in sklearnex files. Offloading computation to devices
|
|
105
|
+
via target_offload should only occur externally, and not
|
|
106
|
+
within the architecture of the sklearnex classes. This
|
|
107
|
+
is for clarity, traceability and maintainability.
|
|
108
|
+
"""
|
|
109
|
+
output = _check_primitive_usage_ban(
|
|
110
|
+
primitive_name="target_offload",
|
|
111
|
+
package="sklearnex",
|
|
112
|
+
allowed_locations=TARGET_OFFLOAD_ALLOWED_LOCATIONS,
|
|
113
|
+
)
|
|
114
|
+
output = "\n".join(output)
|
|
115
|
+
assert output == "", f"target offloading is occuring in: \n{output}"
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def _sklearnex_walk(func):
|
|
119
|
+
"""this replaces checks on pkgutils to look through sklearnex
|
|
120
|
+
folders specifically"""
|
|
121
|
+
|
|
122
|
+
def wrap(*args, **kwargs):
|
|
123
|
+
if "prefix" in kwargs and kwargs["prefix"] == "sklearn.":
|
|
124
|
+
kwargs["prefix"] = "sklearnex."
|
|
125
|
+
if "path" in kwargs:
|
|
126
|
+
# force root to sklearnex
|
|
127
|
+
kwargs["path"] = [str(pathlib.Path(__file__).parent.parent)]
|
|
128
|
+
for pkginfo in func(*args, **kwargs):
|
|
129
|
+
# Do not allow spmd to be yielded
|
|
130
|
+
if "spmd" not in pkginfo.name.split("."):
|
|
131
|
+
yield pkginfo
|
|
132
|
+
|
|
133
|
+
return wrap
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def test_class_trailing_underscore_ban(monkeypatch):
|
|
137
|
+
"""Trailing underscores are defined for sklearn to be signatures of a fitted
|
|
138
|
+
estimator instance, sklearnex extends this to the classes as well"""
|
|
139
|
+
monkeypatch.setattr(pkgutil, "walk_packages", _sklearnex_walk(pkgutil.walk_packages))
|
|
140
|
+
estimators = all_estimators() # list of tuples
|
|
141
|
+
for name, obj in estimators:
|
|
142
|
+
if "preview" not in obj.__module__ and "daal4py" not in obj.__module__:
|
|
143
|
+
# propeties also occur in sklearn, especially in deprecations and are expected
|
|
144
|
+
# to error if queried and the estimator is not fitted
|
|
145
|
+
assert all(
|
|
146
|
+
[
|
|
147
|
+
isinstance(getattr(obj, attr), property)
|
|
148
|
+
or (attr.startswith("_") or not attr.endswith("_"))
|
|
149
|
+
for attr in dir(obj)
|
|
150
|
+
]
|
|
151
|
+
), f"{name} contains class attributes which have a trailing underscore but no leading one"
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def test_all_estimators_covered(monkeypatch):
|
|
155
|
+
"""Check that all estimators defined in sklearnex are available in either the
|
|
156
|
+
patch map or covered in special testing via SPECIAL_INSTANCES. The estimator
|
|
157
|
+
must inherit sklearn's BaseEstimator and must not have a leading underscore.
|
|
158
|
+
The sklearnex.spmd and sklearnex.preview packages are not tested.
|
|
159
|
+
"""
|
|
160
|
+
monkeypatch.setattr(pkgutil, "walk_packages", _sklearnex_walk(pkgutil.walk_packages))
|
|
161
|
+
estimators = all_estimators() # list of tuples
|
|
162
|
+
uncovered_estimators = []
|
|
163
|
+
for name, obj in estimators:
|
|
164
|
+
# do nothing if defined in preview
|
|
165
|
+
if "preview" not in obj.__module__ and not (
|
|
166
|
+
any([issubclass(est, obj) for est in PATCHED_MODELS.values()])
|
|
167
|
+
or any([issubclass(est.__class__, obj) for est in SPECIAL_INSTANCES.values()])
|
|
168
|
+
):
|
|
169
|
+
uncovered_estimators += [".".join([obj.__module__, name])]
|
|
170
|
+
|
|
171
|
+
assert (
|
|
172
|
+
uncovered_estimators == []
|
|
173
|
+
), f"{uncovered_estimators} are currently not included"
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
def _fullpath(path):
|
|
177
|
+
return os.path.realpath(os.path.expanduser(path))
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
_TRACE_ALLOW_DICT = {
|
|
181
|
+
i: _fullpath(os.path.dirname(importlib.util.find_spec(i).origin))
|
|
182
|
+
for i in ["sklearn", "sklearnex", "onedal", "daal4py"]
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def _whitelist_to_blacklist():
|
|
187
|
+
"""block all standard library, built-in or site packages which are not
|
|
188
|
+
related to sklearn, daal4py, onedal or sklearnex"""
|
|
189
|
+
|
|
190
|
+
def _commonpath(inp):
|
|
191
|
+
# ValueError generated by os.path.commonpath when it is on a separate drive
|
|
192
|
+
try:
|
|
193
|
+
return os.path.commonpath(inp)
|
|
194
|
+
except ValueError:
|
|
195
|
+
return ""
|
|
196
|
+
|
|
197
|
+
blacklist = []
|
|
198
|
+
for path in sys.path:
|
|
199
|
+
fpath = _fullpath(path)
|
|
200
|
+
try:
|
|
201
|
+
# if candidate path is a parent directory to any directory in the whitelist
|
|
202
|
+
if any(
|
|
203
|
+
[_commonpath([i, fpath]) == fpath for i in _TRACE_ALLOW_DICT.values()]
|
|
204
|
+
):
|
|
205
|
+
# find all sub-paths which are not in the whitelist and block them
|
|
206
|
+
# they should not have a common path that is either the whitelist path
|
|
207
|
+
# or the sub-path (meaning one is a parent directory of the either)
|
|
208
|
+
for f in os.scandir(fpath):
|
|
209
|
+
temppath = _fullpath(f.path)
|
|
210
|
+
if all(
|
|
211
|
+
[
|
|
212
|
+
_commonpath([i, temppath]) not in [i, temppath]
|
|
213
|
+
for i in _TRACE_ALLOW_DICT.values()
|
|
214
|
+
]
|
|
215
|
+
):
|
|
216
|
+
blacklist += [temppath]
|
|
217
|
+
# add path to blacklist if not a sub path of anything in the whitelist
|
|
218
|
+
elif all([_commonpath([i, fpath]) != i for i in _TRACE_ALLOW_DICT.values()]):
|
|
219
|
+
blacklist += [fpath]
|
|
220
|
+
except FileNotFoundError:
|
|
221
|
+
blacklist += [fpath]
|
|
222
|
+
return blacklist
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
_TRACE_BLOCK_LIST = _whitelist_to_blacklist()
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
@pytest.fixture
|
|
229
|
+
def estimator_trace(estimator, method, cache, capsys, monkeypatch):
|
|
230
|
+
"""Generate a trace of all function calls in calling estimator.method with cache.
|
|
231
|
+
|
|
232
|
+
Parameters
|
|
233
|
+
----------
|
|
234
|
+
estimator : str
|
|
235
|
+
name of estimator which is a key from PATCHED_MODELS or
|
|
236
|
+
|
|
237
|
+
method : str
|
|
238
|
+
name of estimator method which is to be traced and stored
|
|
239
|
+
|
|
240
|
+
cache: pytest.fixture (standard)
|
|
241
|
+
|
|
242
|
+
capsys: pytest.fixture (standard)
|
|
243
|
+
|
|
244
|
+
monkeypatch: pytest.fixture (standard)
|
|
245
|
+
|
|
246
|
+
Returns
|
|
247
|
+
-------
|
|
248
|
+
dict: [calledfuncs, tracetext, modules, callinglines]
|
|
249
|
+
Returns a list of important attributes of the trace.
|
|
250
|
+
calledfuncs is the list of called functions, tracetext is the
|
|
251
|
+
total text output of the trace as a string, modules are the
|
|
252
|
+
module locations of the called functions (must be from daal4py,
|
|
253
|
+
onedal, sklearn, or sklearnex), and callinglines is the line
|
|
254
|
+
which calls the function in calledfuncs
|
|
255
|
+
"""
|
|
256
|
+
key = "-".join((str(estimator), method))
|
|
257
|
+
flag = cache.get("key", "") != key
|
|
258
|
+
if flag:
|
|
259
|
+
# get estimator
|
|
260
|
+
try:
|
|
261
|
+
est = PATCHED_MODELS[estimator]()
|
|
262
|
+
except KeyError:
|
|
263
|
+
est = SPECIAL_INSTANCES[estimator]
|
|
264
|
+
|
|
265
|
+
# get dataset
|
|
266
|
+
X, y = gen_dataset(est)[0]
|
|
267
|
+
# fit dataset if method does not contain 'fit'
|
|
268
|
+
if "fit" not in method:
|
|
269
|
+
est.fit(X, y)
|
|
270
|
+
|
|
271
|
+
# initialize tracer to have a more verbose module naming
|
|
272
|
+
# this impacts ignoremods, but it is not used.
|
|
273
|
+
monkeypatch.setattr(trace, "_modname", _fullpath)
|
|
274
|
+
tracer = trace.Trace(
|
|
275
|
+
count=0,
|
|
276
|
+
trace=1,
|
|
277
|
+
ignoredirs=_TRACE_BLOCK_LIST,
|
|
278
|
+
)
|
|
279
|
+
# call trace on method with dataset
|
|
280
|
+
tracer.runfunc(call_method, est, method, X, y)
|
|
281
|
+
|
|
282
|
+
# collect trace for analysis
|
|
283
|
+
text = capsys.readouterr().out
|
|
284
|
+
for modulename, file in _TRACE_ALLOW_DICT.items():
|
|
285
|
+
text = text.replace(file, modulename)
|
|
286
|
+
regex_func = (
|
|
287
|
+
r"(?<=funcname: )\S*(?=\n)" # needed due to differences in module structure
|
|
288
|
+
)
|
|
289
|
+
regex_mod = r"(?<=--- modulename: )\S*(?=\.py)" # needed due to differences in module structure
|
|
290
|
+
|
|
291
|
+
regex_callingline = r"(?<=\n)\S.*(?=\n --- modulename: )"
|
|
292
|
+
|
|
293
|
+
cache.set("key", key)
|
|
294
|
+
cache.set(
|
|
295
|
+
"text",
|
|
296
|
+
{
|
|
297
|
+
"funcs": re.findall(regex_func, text),
|
|
298
|
+
"trace": text,
|
|
299
|
+
"modules": [i.replace(os.sep, ".") for i in re.findall(regex_mod, text)],
|
|
300
|
+
"callingline": [""] + re.findall(regex_callingline, text),
|
|
301
|
+
},
|
|
302
|
+
)
|
|
303
|
+
|
|
304
|
+
return cache.get("text", None)
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
def call_validate_data(text, estimator, method):
|
|
308
|
+
"""test that the sklearn function/attribute validate_data is
|
|
309
|
+
called once before offloading to oneDAL in sklearnex"""
|
|
310
|
+
try:
|
|
311
|
+
# get last to_table call showing end of oneDAL input portion of code
|
|
312
|
+
idx = len(text["funcs"]) - 1 - text["funcs"][::-1].index("to_table")
|
|
313
|
+
validfuncs = text["funcs"][:idx]
|
|
314
|
+
except ValueError:
|
|
315
|
+
pytest.skip("onedal backend not used in this function")
|
|
316
|
+
|
|
317
|
+
validate_data = "validate_data" if sklearn_check_version("1.6") else "_validate_data"
|
|
318
|
+
|
|
319
|
+
assert (
|
|
320
|
+
validfuncs.count(validate_data) == 1
|
|
321
|
+
), f"sklearn's {validate_data} should be called"
|
|
322
|
+
assert (
|
|
323
|
+
validfuncs.count("_check_feature_names") == 1
|
|
324
|
+
), "estimator should check feature names in validate_data"
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
def n_jobs_check(text, estimator, method):
|
|
328
|
+
"""verify the n_jobs is being set if '_get_backend' or 'to_table' is called"""
|
|
329
|
+
# remove the _get_backend function from sklearnex from considered _get_backend
|
|
330
|
+
count = max(
|
|
331
|
+
text["funcs"].count("to_table"),
|
|
332
|
+
len(
|
|
333
|
+
[
|
|
334
|
+
i
|
|
335
|
+
for i in range(len(text["funcs"]))
|
|
336
|
+
if text["funcs"][i] == "_get_backend"
|
|
337
|
+
and "sklearnex" not in text["modules"][i]
|
|
338
|
+
]
|
|
339
|
+
),
|
|
340
|
+
)
|
|
341
|
+
n_jobs_count = text["funcs"].count("n_jobs_wrapper")
|
|
342
|
+
|
|
343
|
+
assert bool(count) == bool(
|
|
344
|
+
n_jobs_count
|
|
345
|
+
), f"verify if {method} should be in control_n_jobs' decorated_methods for {estimator}"
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
def runtime_property_check(text, estimator, method):
|
|
349
|
+
"""use of Python's 'property' should not be used at runtime, only at class instantiation"""
|
|
350
|
+
assert (
|
|
351
|
+
len(re.findall(r"property\(", text["trace"])) == 0
|
|
352
|
+
), f"{estimator}.{method} should only use 'property' at instantiation"
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
def fit_check_before_support_check(text, estimator, method):
|
|
356
|
+
if "fit" not in method:
|
|
357
|
+
if "dispatch" not in text["funcs"]:
|
|
358
|
+
pytest.skip(f"onedal dispatching not used in {estimator}.{method}")
|
|
359
|
+
idx = len(text["funcs"]) - 1 - text["funcs"][::-1].index("dispatch")
|
|
360
|
+
validfuncs = text["funcs"][:idx]
|
|
361
|
+
assert (
|
|
362
|
+
"check_is_fitted" in validfuncs
|
|
363
|
+
), f"sklearn's check_is_fitted must be called before checking oneDAL support"
|
|
364
|
+
|
|
365
|
+
else:
|
|
366
|
+
pytest.skip(f"fitting occurs in {estimator}.{method}")
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
DESIGN_RULES = [n_jobs_check, runtime_property_check, fit_check_before_support_check]
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
if sklearn_check_version("1.0"):
|
|
373
|
+
DESIGN_RULES += [call_validate_data]
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
@pytest.mark.parametrize("design_pattern", DESIGN_RULES)
|
|
377
|
+
@pytest.mark.parametrize(
|
|
378
|
+
"estimator, method",
|
|
379
|
+
gen_models_info({**PATCHED_MODELS, **SPECIAL_INSTANCES}, fit=True, daal4py=False),
|
|
380
|
+
)
|
|
381
|
+
def test_estimator(estimator, method, design_pattern, estimator_trace):
|
|
382
|
+
# These tests only apply to sklearnex estimators
|
|
383
|
+
try:
|
|
384
|
+
design_pattern(estimator_trace, estimator, method)
|
|
385
|
+
except AssertionError:
|
|
386
|
+
key = "-".join([estimator, method, design_pattern.__name__])
|
|
387
|
+
if key in _DESIGN_RULE_VIOLATIONS:
|
|
388
|
+
pytest.xfail(_DESIGN_RULE_VIOLATIONS[key])
|
|
389
|
+
else:
|
|
390
|
+
raise
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# Copyright 2021 Intel Corporation
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
# ==============================================================================
|
|
16
|
+
|
|
17
|
+
import sklearn
|
|
18
|
+
|
|
19
|
+
import onedal
|
|
20
|
+
import sklearnex
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_get_config_contains_sklearn_params():
|
|
24
|
+
skex_config = sklearnex.get_config()
|
|
25
|
+
sk_config = sklearn.get_config()
|
|
26
|
+
|
|
27
|
+
assert all(value in skex_config.keys() for value in sk_config.keys())
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def test_set_config_works():
|
|
31
|
+
"""Test validates that the config settings were applied correctly by
|
|
32
|
+
set_config.
|
|
33
|
+
"""
|
|
34
|
+
# This retrieves the current configuration settings
|
|
35
|
+
# from sklearnex to restore them later.
|
|
36
|
+
default_config = sklearnex.get_config()
|
|
37
|
+
|
|
38
|
+
# These variables define the new configuration settings
|
|
39
|
+
# that will be tested.
|
|
40
|
+
assume_finite = True
|
|
41
|
+
target_offload = "cpu:0"
|
|
42
|
+
allow_fallback_to_host = True
|
|
43
|
+
allow_sklearn_after_onedal = False
|
|
44
|
+
|
|
45
|
+
sklearnex.set_config(
|
|
46
|
+
assume_finite=assume_finite,
|
|
47
|
+
target_offload=target_offload,
|
|
48
|
+
allow_fallback_to_host=allow_fallback_to_host,
|
|
49
|
+
allow_sklearn_after_onedal=allow_sklearn_after_onedal,
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
config = sklearnex.get_config()
|
|
53
|
+
onedal_config = onedal._config._get_config()
|
|
54
|
+
# Any assert in test_set_config_works will leave the default config in place.
|
|
55
|
+
# This is an undesired behavior. Using a try finally statement will guarantee
|
|
56
|
+
# the use of set_config in the case of a failure.
|
|
57
|
+
try:
|
|
58
|
+
# These assertions check if the configuration was set correctly.
|
|
59
|
+
# If any assertion fails, it will raise an error.
|
|
60
|
+
assert config["target_offload"] == target_offload
|
|
61
|
+
assert config["allow_fallback_to_host"] == allow_fallback_to_host
|
|
62
|
+
assert config["allow_sklearn_after_onedal"] == allow_sklearn_after_onedal
|
|
63
|
+
assert config["assume_finite"] == assume_finite
|
|
64
|
+
assert onedal_config["target_offload"] == target_offload
|
|
65
|
+
assert onedal_config["allow_fallback_to_host"] == allow_fallback_to_host
|
|
66
|
+
finally:
|
|
67
|
+
# This ensures that the original configuration is restored, regardless of
|
|
68
|
+
# whether the assertions pass or fail.
|
|
69
|
+
sklearnex.set_config(**default_config)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def test_config_context_works():
|
|
73
|
+
"""Test validates that the config settings were applied correctly
|
|
74
|
+
by config context manager.
|
|
75
|
+
"""
|
|
76
|
+
from sklearnex import config_context, get_config
|
|
77
|
+
|
|
78
|
+
default_config = get_config()
|
|
79
|
+
onedal_default_config = onedal._config._get_config()
|
|
80
|
+
|
|
81
|
+
# These variables define the new configuration settings
|
|
82
|
+
# that will be tested.
|
|
83
|
+
assume_finite = True
|
|
84
|
+
target_offload = "cpu:0"
|
|
85
|
+
allow_fallback_to_host = True
|
|
86
|
+
allow_sklearn_after_onedal = False
|
|
87
|
+
|
|
88
|
+
# Nested context manager applies the new configuration settings.
|
|
89
|
+
# Each config_context temporarily sets a specific configuration,
|
|
90
|
+
# allowing for a clean and isolated testing environment.
|
|
91
|
+
with config_context(assume_finite=assume_finite):
|
|
92
|
+
with config_context(target_offload=target_offload):
|
|
93
|
+
with config_context(allow_fallback_to_host=allow_fallback_to_host):
|
|
94
|
+
with config_context(
|
|
95
|
+
allow_sklearn_after_onedal=allow_sklearn_after_onedal
|
|
96
|
+
):
|
|
97
|
+
config = sklearnex.get_config()
|
|
98
|
+
onedal_config = onedal._config._get_config()
|
|
99
|
+
|
|
100
|
+
assert config["target_offload"] == target_offload
|
|
101
|
+
assert config["allow_fallback_to_host"] == allow_fallback_to_host
|
|
102
|
+
assert config["allow_sklearn_after_onedal"] == allow_sklearn_after_onedal
|
|
103
|
+
assert config["assume_finite"] == assume_finite
|
|
104
|
+
assert onedal_config["target_offload"] == target_offload
|
|
105
|
+
assert onedal_config["allow_fallback_to_host"] == allow_fallback_to_host
|
|
106
|
+
|
|
107
|
+
# Check that out of the config context manager default settings are
|
|
108
|
+
# remaining.
|
|
109
|
+
default_config_after_cc = get_config()
|
|
110
|
+
onedal_default_config_after_cc = onedal._config._get_config()
|
|
111
|
+
for param in [
|
|
112
|
+
"target_offload",
|
|
113
|
+
"allow_fallback_to_host",
|
|
114
|
+
"allow_sklearn_after_onedal",
|
|
115
|
+
"assume_finite",
|
|
116
|
+
]:
|
|
117
|
+
assert default_config_after_cc[param] == default_config[param]
|
|
118
|
+
|
|
119
|
+
for param in [
|
|
120
|
+
"target_offload",
|
|
121
|
+
"allow_fallback_to_host",
|
|
122
|
+
]:
|
|
123
|
+
assert onedal_default_config_after_cc[param] == onedal_default_config[param]
|