scikit-learn-intelex 2025.1.0__py310-none-win_amd64.whl → 2025.2.0__py310-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of scikit-learn-intelex might be problematic. Click here for more details.
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +6 -3
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_device_offload.py +10 -28
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +5 -5
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +34 -19
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +16 -72
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +100 -17
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +50 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +5 -10
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +9 -16
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +7 -10
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_policy.py +0 -4
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/common/tests/test_sycl.py +128 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +6 -9
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +41 -26
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +69 -1
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +19 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +10 -43
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +83 -22
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +42 -32
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +7 -7
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +87 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +20 -11
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +86 -52
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +19 -23
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +9 -11
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +70 -25
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +64 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +13 -4
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +21 -25
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +3 -4
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/svm.py +9 -9
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/onedal/utils/tests/test_validation.py +142 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/validation.py +38 -14
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_utils.py +19 -8
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +39 -8
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +7 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +171 -36
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +79 -28
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +2 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -2
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +7 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +50 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +1 -10
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +23 -18
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +25 -12
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +7 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +1 -1
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +11 -11
- {scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex}/linear_model/ridge.py +390 -424
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +65 -5
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +61 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +11 -36
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +256 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +250 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +1 -1
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +1 -1
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +12 -1
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +70 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +3 -3
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +6 -7
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +3 -2
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +16 -14
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +130 -29
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +43 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +7 -39
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -11
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +0 -8
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +7 -2
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +4 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +65 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/validation.py → scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +3 -1
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +238 -0
- scikit_learn_intelex-2025.2.0.data/data/Lib/site-packages/sklearnex/utils/validation.py +208 -0
- {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/METADATA +2 -2
- scikit_learn_intelex-2025.2.0.dist-info/RECORD +259 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/_daal4py.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/daal4py/mpi_transceiver.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp310-win_amd64.pyd +0 -0
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -19
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/linear_model/ridge.py +0 -24
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -26
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/__init__.py +0 -19
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/preview/linear_model/tests/test_ridge.py +0 -102
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -19
- scikit_learn_intelex-2025.1.0.data/data/Lib/site-packages/sklearnex/utils/tests/test_finite.py +0 -89
- scikit_learn_intelex-2025.1.0.dist-info/RECORD +0 -257
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/__main__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/mb/model_builders.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/_config.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_base.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/__main__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_config.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/_device_offload.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
- {scikit_learn_intelex-2025.1.0.data → scikit_learn_intelex-2025.2.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
- {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/LICENSE.txt +0 -0
- {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/WHEEL +0 -0
- {scikit_learn_intelex-2025.1.0.dist-info → scikit_learn_intelex-2025.2.0.dist-info}/top_level.txt +0 -0
|
@@ -21,7 +21,7 @@ from sklearn.utils import check_random_state
|
|
|
21
21
|
from daal4py.sklearn._utils import daal_check_version, get_dtype
|
|
22
22
|
|
|
23
23
|
from ..common._base import BaseEstimator as onedal_BaseEstimator
|
|
24
|
-
from ..datatypes import
|
|
24
|
+
from ..datatypes import from_table, to_table
|
|
25
25
|
from ..utils import _check_array
|
|
26
26
|
|
|
27
27
|
if daal_check_version((2023, "P", 200)):
|
|
@@ -50,26 +50,23 @@ if daal_check_version((2023, "P", 200)):
|
|
|
50
50
|
|
|
51
51
|
def _get_onedal_params(self, dtype=np.float32):
|
|
52
52
|
return {
|
|
53
|
-
"fptype":
|
|
53
|
+
"fptype": dtype,
|
|
54
54
|
"local_trials_count": self.local_trials_count,
|
|
55
55
|
"method": self.algorithm,
|
|
56
56
|
"seed": self.seed,
|
|
57
57
|
"cluster_count": self.cluster_count,
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
def _get_params_and_input(self, X,
|
|
60
|
+
def _get_params_and_input(self, X, queue):
|
|
61
61
|
X = _check_array(
|
|
62
62
|
X,
|
|
63
63
|
dtype=[np.float64, np.float32],
|
|
64
64
|
accept_sparse="csr",
|
|
65
65
|
force_all_finite=False,
|
|
66
66
|
)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
dtype = get_dtype(X)
|
|
71
|
-
params = self._get_onedal_params(dtype)
|
|
72
|
-
return (params, to_table(X), dtype)
|
|
67
|
+
X = to_table(X, queue=queue)
|
|
68
|
+
params = self._get_onedal_params(X.dtype)
|
|
69
|
+
return (params, X, X.dtype)
|
|
73
70
|
|
|
74
71
|
def _compute_raw(self, X_table, module, policy, dtype=np.float32):
|
|
75
72
|
params = self._get_onedal_params(dtype)
|
|
@@ -83,7 +80,7 @@ if daal_check_version((2023, "P", 200)):
|
|
|
83
80
|
# oneDAL KMeans Init for sparse data does not have GPU support
|
|
84
81
|
if issparse(X):
|
|
85
82
|
policy = self._get_policy(None, None)
|
|
86
|
-
_, X_table, dtype = self._get_params_and_input(X,
|
|
83
|
+
_, X_table, dtype = self._get_params_and_input(X, queue)
|
|
87
84
|
|
|
88
85
|
centroids = self._compute_raw(X_table, module, policy, dtype)
|
|
89
86
|
|
|
@@ -48,12 +48,8 @@ class _HostInteropPolicy(_backend.host_policy):
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
if _is_dpc_backend:
|
|
51
|
-
from onedal._device_offload import DummySyclQueue
|
|
52
51
|
|
|
53
52
|
class _DataParallelInteropPolicy(_backend.data_parallel_policy):
|
|
54
53
|
def __init__(self, queue):
|
|
55
54
|
self._queue = queue
|
|
56
|
-
if isinstance(queue, DummySyclQueue):
|
|
57
|
-
super().__init__(self._queue.sycl_device.get_filter_string())
|
|
58
|
-
return
|
|
59
55
|
super().__init__(self._queue)
|
|
@@ -0,0 +1,128 @@
|
|
|
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
|
+
|
|
20
|
+
from onedal import _backend, _is_dpc_backend
|
|
21
|
+
from onedal.tests.utils._device_selection import get_queues
|
|
22
|
+
from onedal.utils._dpep_helpers import dpctl_available
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@pytest.mark.skipif(
|
|
26
|
+
not _is_dpc_backend or not dpctl_available, reason="requires dpc backend and dpctl"
|
|
27
|
+
)
|
|
28
|
+
@pytest.mark.parametrize("device_type", ["cpu", "gpu"])
|
|
29
|
+
@pytest.mark.parametrize("device_number", [None, 0, 1, 2, 3])
|
|
30
|
+
def test_sycl_queue_string_creation(device_type, device_number):
|
|
31
|
+
# create devices from strings
|
|
32
|
+
from dpctl import SyclQueue
|
|
33
|
+
from dpctl._sycl_queue import SyclQueueCreationError
|
|
34
|
+
|
|
35
|
+
onedal_SyclQueue = _backend.SyclQueue
|
|
36
|
+
|
|
37
|
+
device = (
|
|
38
|
+
":".join([device_type, str(device_number)])
|
|
39
|
+
if device_number is not None
|
|
40
|
+
else device_type
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
raised_exception_dpctl = False
|
|
44
|
+
raised_exception_backend = False
|
|
45
|
+
|
|
46
|
+
try:
|
|
47
|
+
dpctl_string = SyclQueue(device).sycl_device.filter_string
|
|
48
|
+
except SyclQueueCreationError:
|
|
49
|
+
raised_exception_dpctl = True
|
|
50
|
+
|
|
51
|
+
try:
|
|
52
|
+
onedal_string = onedal_SyclQueue(device).sycl_device.filter_string
|
|
53
|
+
except RuntimeError:
|
|
54
|
+
raised_exception_backend = True
|
|
55
|
+
|
|
56
|
+
assert raised_exception_dpctl == raised_exception_backend
|
|
57
|
+
if not raised_exception_backend:
|
|
58
|
+
# dpctl filter string converts simple sycl filter_strings
|
|
59
|
+
# i.e. "gpu:1" -> "opencl:gpu:0", use SyclQueue to convert
|
|
60
|
+
# for matching, as oneDAL sycl queue only returns simple
|
|
61
|
+
# strings as these are operationally sufficient
|
|
62
|
+
assert SyclQueue(onedal_string).sycl_device.filter_string == dpctl_string
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@pytest.mark.skipif(
|
|
66
|
+
not _is_dpc_backend or not dpctl_available, reason="requires dpc backend and dpctl"
|
|
67
|
+
)
|
|
68
|
+
@pytest.mark.parametrize("queue", get_queues())
|
|
69
|
+
def test_sycl_queue_conversion(queue):
|
|
70
|
+
if queue is None:
|
|
71
|
+
pytest.skip("Not a dpctl queue")
|
|
72
|
+
SyclQueue = queue.__class__
|
|
73
|
+
onedal_SyclQueue = _backend.SyclQueue
|
|
74
|
+
|
|
75
|
+
q = onedal_SyclQueue(queue)
|
|
76
|
+
|
|
77
|
+
# convert back and forth to test `_get_capsule` attribute
|
|
78
|
+
for i in range(10):
|
|
79
|
+
q = SyclQueue(q.sycl_device.filter_string)
|
|
80
|
+
q = onedal_SyclQueue(q)
|
|
81
|
+
|
|
82
|
+
assert q.sycl_device.filter_string in queue.sycl_device.filter_string
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
@pytest.mark.skipif(
|
|
86
|
+
not _is_dpc_backend or not dpctl_available, reason="requires dpc backend and dpctl"
|
|
87
|
+
)
|
|
88
|
+
@pytest.mark.parametrize("queue", get_queues())
|
|
89
|
+
def test_sycl_device_attributes(queue):
|
|
90
|
+
from dpctl import SyclQueue
|
|
91
|
+
|
|
92
|
+
if queue is None:
|
|
93
|
+
pytest.skip("Not a dpctl queue")
|
|
94
|
+
onedal_SyclQueue = _backend.SyclQueue
|
|
95
|
+
|
|
96
|
+
onedal_queue = onedal_SyclQueue(queue)
|
|
97
|
+
|
|
98
|
+
# check fp64 support
|
|
99
|
+
assert onedal_queue.sycl_device.has_aspect_fp64 == queue.sycl_device.has_aspect_fp64
|
|
100
|
+
# check fp16 support
|
|
101
|
+
assert onedal_queue.sycl_device.has_aspect_fp16 == queue.sycl_device.has_aspect_fp16
|
|
102
|
+
# check is_cpu
|
|
103
|
+
assert onedal_queue.sycl_device.is_cpu == queue.sycl_device.is_cpu
|
|
104
|
+
# check is_gpu
|
|
105
|
+
assert onedal_queue.sycl_device.is_gpu == queue.sycl_device.is_gpu
|
|
106
|
+
# check device number
|
|
107
|
+
assert onedal_queue.sycl_device.filter_string in queue.sycl_device.filter_string
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
@pytest.mark.skipif(not _is_dpc_backend, reason="requires dpc backend")
|
|
111
|
+
def test_backend_queue():
|
|
112
|
+
try:
|
|
113
|
+
q = _backend.SyclQueue("cpu")
|
|
114
|
+
except RuntimeError:
|
|
115
|
+
pytest.skip("OpenCL CPU runtime not installed")
|
|
116
|
+
|
|
117
|
+
# verify copying via a py capsule object is functional
|
|
118
|
+
q2 = _backend.SyclQueue(q._get_capsule())
|
|
119
|
+
# verify copying via the _get_capsule attribute
|
|
120
|
+
q3 = _backend.SyclQueue(q)
|
|
121
|
+
|
|
122
|
+
q_array = [q, q2, q3]
|
|
123
|
+
|
|
124
|
+
assert all([queue.sycl_device.has_aspect_fp64 for queue in q_array])
|
|
125
|
+
assert all([queue.sycl_device.has_aspect_fp16 for queue in q_array])
|
|
126
|
+
assert all([queue.sycl_device.is_cpu for queue in q_array])
|
|
127
|
+
assert all([not queue.sycl_device.is_gpu for queue in q_array])
|
|
128
|
+
assert all(["cpu" in queue.sycl_device.filter_string for queue in q_array])
|
|
@@ -22,7 +22,7 @@ from onedal.utils import _check_array
|
|
|
22
22
|
|
|
23
23
|
from ..common._base import BaseEstimator
|
|
24
24
|
from ..common.hyperparameters import get_hyperparameters
|
|
25
|
-
from ..datatypes import
|
|
25
|
+
from ..datatypes import from_table, to_table
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
class BaseEmpiricalCovariance(BaseEstimator, metaclass=ABCMeta):
|
|
@@ -33,7 +33,7 @@ class BaseEmpiricalCovariance(BaseEstimator, metaclass=ABCMeta):
|
|
|
33
33
|
|
|
34
34
|
def _get_onedal_params(self, dtype=np.float32):
|
|
35
35
|
params = {
|
|
36
|
-
"fptype":
|
|
36
|
+
"fptype": dtype,
|
|
37
37
|
"method": self.method,
|
|
38
38
|
}
|
|
39
39
|
if daal_check_version((2024, "P", 1)):
|
|
@@ -95,9 +95,8 @@ class EmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
95
95
|
"""
|
|
96
96
|
policy = self._get_policy(queue, X)
|
|
97
97
|
X = _check_array(X, dtype=[np.float64, np.float32])
|
|
98
|
-
X =
|
|
99
|
-
|
|
100
|
-
params = self._get_onedal_params(dtype)
|
|
98
|
+
X = to_table(X, queue=queue)
|
|
99
|
+
params = self._get_onedal_params(X.dtype)
|
|
101
100
|
hparams = get_hyperparameters("covariance", "compute")
|
|
102
101
|
if hparams is not None and not hparams.is_default:
|
|
103
102
|
result = self._get_backend(
|
|
@@ -107,12 +106,10 @@ class EmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
107
106
|
policy,
|
|
108
107
|
params,
|
|
109
108
|
hparams.backend,
|
|
110
|
-
|
|
109
|
+
X,
|
|
111
110
|
)
|
|
112
111
|
else:
|
|
113
|
-
result = self._get_backend(
|
|
114
|
-
"covariance", None, "compute", policy, params, to_table(X)
|
|
115
|
-
)
|
|
112
|
+
result = self._get_backend("covariance", None, "compute", policy, params, X)
|
|
116
113
|
if daal_check_version((2024, "P", 1)) or (not self.bias):
|
|
117
114
|
self.covariance_ = from_table(result.cov_matrix)
|
|
118
115
|
else:
|
|
@@ -17,7 +17,7 @@ import numpy as np
|
|
|
17
17
|
|
|
18
18
|
from daal4py.sklearn._utils import daal_check_version, get_dtype
|
|
19
19
|
|
|
20
|
-
from ..datatypes import
|
|
20
|
+
from ..datatypes import from_table, to_table
|
|
21
21
|
from ..utils import _check_array
|
|
22
22
|
from .covariance import BaseEmpiricalCovariance
|
|
23
23
|
|
|
@@ -57,10 +57,22 @@ class IncrementalEmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
57
57
|
self._reset()
|
|
58
58
|
|
|
59
59
|
def _reset(self):
|
|
60
|
+
self._need_to_finalize = False
|
|
60
61
|
self._partial_result = self._get_backend(
|
|
61
62
|
"covariance", None, "partial_compute_result"
|
|
62
63
|
)
|
|
63
64
|
|
|
65
|
+
def __getstate__(self):
|
|
66
|
+
# Since finalize_fit can't be dispatched without directly provided queue
|
|
67
|
+
# and the dispatching policy can't be serialized, the computation is finalized
|
|
68
|
+
# here and the policy is not saved in serialized data.
|
|
69
|
+
|
|
70
|
+
self.finalize_fit()
|
|
71
|
+
data = self.__dict__.copy()
|
|
72
|
+
data.pop("_queue", None)
|
|
73
|
+
|
|
74
|
+
return data
|
|
75
|
+
|
|
64
76
|
def partial_fit(self, X, y=None, queue=None):
|
|
65
77
|
"""
|
|
66
78
|
Computes partial data for the covariance matrix
|
|
@@ -89,13 +101,12 @@ class IncrementalEmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
89
101
|
|
|
90
102
|
policy = self._get_policy(queue, X)
|
|
91
103
|
|
|
92
|
-
|
|
104
|
+
X_table = to_table(X, queue=queue)
|
|
93
105
|
|
|
94
106
|
if not hasattr(self, "_dtype"):
|
|
95
|
-
self._dtype =
|
|
107
|
+
self._dtype = X_table.dtype
|
|
96
108
|
|
|
97
109
|
params = self._get_onedal_params(self._dtype)
|
|
98
|
-
table_X = to_table(X)
|
|
99
110
|
self._partial_result = self._get_backend(
|
|
100
111
|
"covariance",
|
|
101
112
|
None,
|
|
@@ -103,8 +114,9 @@ class IncrementalEmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
103
114
|
policy,
|
|
104
115
|
params,
|
|
105
116
|
self._partial_result,
|
|
106
|
-
|
|
117
|
+
X_table,
|
|
107
118
|
)
|
|
119
|
+
self._need_to_finalize = True
|
|
108
120
|
|
|
109
121
|
def finalize_fit(self, queue=None):
|
|
110
122
|
"""
|
|
@@ -121,26 +133,29 @@ class IncrementalEmpiricalCovariance(BaseEmpiricalCovariance):
|
|
|
121
133
|
self : object
|
|
122
134
|
Returns the instance itself.
|
|
123
135
|
"""
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
136
|
+
if self._need_to_finalize:
|
|
137
|
+
params = self._get_onedal_params(self._dtype)
|
|
138
|
+
if queue is not None:
|
|
139
|
+
policy = self._get_policy(queue)
|
|
140
|
+
else:
|
|
141
|
+
policy = self._get_policy(self._queue)
|
|
142
|
+
|
|
143
|
+
result = self._get_backend(
|
|
144
|
+
"covariance",
|
|
145
|
+
None,
|
|
146
|
+
"finalize_compute",
|
|
147
|
+
policy,
|
|
148
|
+
params,
|
|
149
|
+
self._partial_result,
|
|
150
|
+
)
|
|
151
|
+
if daal_check_version((2024, "P", 1)) or (not self.bias):
|
|
152
|
+
self.covariance_ = from_table(result.cov_matrix)
|
|
153
|
+
else:
|
|
154
|
+
n_rows = self._partial_result.partial_n_rows
|
|
155
|
+
self.covariance_ = from_table(result.cov_matrix) * (n_rows - 1) / n_rows
|
|
156
|
+
|
|
157
|
+
self.location_ = from_table(result.means).ravel()
|
|
158
|
+
|
|
159
|
+
self._need_to_finalize = False
|
|
145
160
|
|
|
146
161
|
return self
|
|
@@ -18,6 +18,7 @@ import numpy as np
|
|
|
18
18
|
import pytest
|
|
19
19
|
from numpy.testing import assert_allclose
|
|
20
20
|
|
|
21
|
+
from onedal.datatypes import from_table
|
|
21
22
|
from onedal.tests.utils._device_selection import get_queues
|
|
22
23
|
|
|
23
24
|
|
|
@@ -42,8 +43,8 @@ def test_on_gold_data_unbiased(queue, dtype):
|
|
|
42
43
|
assert_allclose(expected_means, result.location_)
|
|
43
44
|
|
|
44
45
|
X = np.array([[1, 2], [3, 6]])
|
|
45
|
-
X_split = np.array_split(X, 2)
|
|
46
46
|
X = X.astype(dtype)
|
|
47
|
+
X_split = np.array_split(X, 2)
|
|
47
48
|
inccov = IncrementalEmpiricalCovariance()
|
|
48
49
|
|
|
49
50
|
for i in range(2):
|
|
@@ -120,3 +121,70 @@ def test_partial_fit_on_random_data(
|
|
|
120
121
|
|
|
121
122
|
assert_allclose(expected_covariance, result.covariance_, atol=1e-6)
|
|
122
123
|
assert_allclose(expected_means, result.location_, atol=1e-6)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
@pytest.mark.parametrize("queue", get_queues())
|
|
127
|
+
@pytest.mark.parametrize("dtype", [np.float32, np.float64])
|
|
128
|
+
def test_incremental_estimator_pickle(queue, dtype):
|
|
129
|
+
import pickle
|
|
130
|
+
|
|
131
|
+
from onedal.covariance import IncrementalEmpiricalCovariance
|
|
132
|
+
|
|
133
|
+
inccov = IncrementalEmpiricalCovariance()
|
|
134
|
+
|
|
135
|
+
# Check that estimator can be serialized without any data.
|
|
136
|
+
dump = pickle.dumps(inccov)
|
|
137
|
+
inccov_loaded = pickle.loads(dump)
|
|
138
|
+
seed = 77
|
|
139
|
+
gen = np.random.default_rng(seed)
|
|
140
|
+
X = gen.uniform(low=-0.3, high=+0.7, size=(10, 10))
|
|
141
|
+
X = X.astype(dtype)
|
|
142
|
+
X_split = np.array_split(X, 2)
|
|
143
|
+
inccov.partial_fit(X_split[0], queue=queue)
|
|
144
|
+
inccov_loaded.partial_fit(X_split[0], queue=queue)
|
|
145
|
+
|
|
146
|
+
assert inccov._need_to_finalize == True
|
|
147
|
+
assert inccov_loaded._need_to_finalize == True
|
|
148
|
+
|
|
149
|
+
# Check that estimator can be serialized after partial_fit call.
|
|
150
|
+
dump = pickle.dumps(inccov)
|
|
151
|
+
inccov_loaded = pickle.loads(dump)
|
|
152
|
+
|
|
153
|
+
assert inccov._need_to_finalize == False
|
|
154
|
+
# Finalize is called during serialization to make sure partial results are finalized correctly.
|
|
155
|
+
assert inccov_loaded._need_to_finalize == False
|
|
156
|
+
|
|
157
|
+
partial_n_rows = from_table(inccov._partial_result.partial_n_rows)
|
|
158
|
+
partial_n_rows_loaded = from_table(inccov_loaded._partial_result.partial_n_rows)
|
|
159
|
+
assert_allclose(partial_n_rows, partial_n_rows_loaded)
|
|
160
|
+
|
|
161
|
+
partial_crossproduct = from_table(inccov._partial_result.partial_crossproduct)
|
|
162
|
+
partial_crossproduct_loaded = from_table(
|
|
163
|
+
inccov_loaded._partial_result.partial_crossproduct
|
|
164
|
+
)
|
|
165
|
+
assert_allclose(partial_crossproduct, partial_crossproduct_loaded)
|
|
166
|
+
|
|
167
|
+
partial_sums = from_table(inccov._partial_result.partial_sums)
|
|
168
|
+
partial_sums_loaded = from_table(inccov_loaded._partial_result.partial_sums)
|
|
169
|
+
assert_allclose(partial_sums, partial_sums_loaded)
|
|
170
|
+
|
|
171
|
+
inccov.partial_fit(X_split[1], queue=queue)
|
|
172
|
+
inccov_loaded.partial_fit(X_split[1], queue=queue)
|
|
173
|
+
assert inccov._need_to_finalize == True
|
|
174
|
+
assert inccov_loaded._need_to_finalize == True
|
|
175
|
+
|
|
176
|
+
dump = pickle.dumps(inccov_loaded)
|
|
177
|
+
inccov_loaded = pickle.loads(dump)
|
|
178
|
+
|
|
179
|
+
assert inccov._need_to_finalize == True
|
|
180
|
+
assert inccov_loaded._need_to_finalize == False
|
|
181
|
+
|
|
182
|
+
inccov.finalize_fit()
|
|
183
|
+
inccov_loaded.finalize_fit()
|
|
184
|
+
|
|
185
|
+
# Check that finalized estimator can be serialized.
|
|
186
|
+
dump = pickle.dumps(inccov_loaded)
|
|
187
|
+
inccov_loaded = pickle.loads(dump)
|
|
188
|
+
|
|
189
|
+
assert_allclose(inccov.location_, inccov_loaded.location_, atol=1e-6)
|
|
190
|
+
assert_allclose(inccov.covariance_, inccov_loaded.covariance_, atol=1e-6)
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
from ._data_conversion import from_table, to_table
|
|
18
|
+
|
|
19
|
+
__all__ = ["from_table", "to_table"]
|
|
@@ -27,20 +27,20 @@ def _apply_and_pass(func, *args, **kwargs):
|
|
|
27
27
|
return tuple(map(lambda arg: func(arg, **kwargs), args))
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
def _convert_one_to_table(arg):
|
|
30
|
+
def _convert_one_to_table(arg, queue=None):
|
|
31
31
|
# All inputs for table conversion must be array-like or sparse, not scalars
|
|
32
|
-
return _backend.to_table(np.atleast_2d(arg) if np.isscalar(arg) else arg)
|
|
32
|
+
return _backend.to_table(np.atleast_2d(arg) if np.isscalar(arg) else arg, queue)
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
def to_table(*args):
|
|
35
|
+
def to_table(*args, queue=None):
|
|
36
36
|
"""Create oneDAL tables from scalars and/or arrays.
|
|
37
37
|
|
|
38
|
-
Note: this implementation can be used with
|
|
39
|
-
|
|
40
|
-
original array data. Scalars will be copies.
|
|
41
|
-
place by oneDAL during computation. This works
|
|
42
|
-
SYCL-enabled Intel GPUs. Each array may only
|
|
43
|
-
each must be homogeneous).
|
|
38
|
+
Note: this implementation can be used with scipy.sparse, numpy ndarrays,
|
|
39
|
+
DPCTL/DPNP usm_ndarrays and scalars. Tables will use pointers to the
|
|
40
|
+
original array data. Scalars and non-contiguous arrays will be copies.
|
|
41
|
+
Arrays may be modified in-place by oneDAL during computation. This works
|
|
42
|
+
for data located on CPU and SYCL-enabled Intel GPUs. Each array may only
|
|
43
|
+
be of a single datatype (i.e. each must be homogeneous).
|
|
44
44
|
|
|
45
45
|
Parameters
|
|
46
46
|
----------
|
|
@@ -51,7 +51,7 @@ def to_table(*args):
|
|
|
51
51
|
-------
|
|
52
52
|
tables: {oneDAL homogeneous tables}
|
|
53
53
|
"""
|
|
54
|
-
return _apply_and_pass(_convert_one_to_table, *args)
|
|
54
|
+
return _apply_and_pass(_convert_one_to_table, *args, queue=queue)
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
if _is_dpc_backend:
|
|
@@ -81,33 +81,6 @@ if _is_dpc_backend:
|
|
|
81
81
|
|
|
82
82
|
from ..common._policy import _HostInteropPolicy
|
|
83
83
|
|
|
84
|
-
def _convert_to_supported(policy, *data):
|
|
85
|
-
def func(x):
|
|
86
|
-
return x
|
|
87
|
-
|
|
88
|
-
# CPUs support FP64 by default
|
|
89
|
-
if isinstance(policy, _HostInteropPolicy):
|
|
90
|
-
return _apply_and_pass(func, *data)
|
|
91
|
-
|
|
92
|
-
# It can be either SPMD or DPCPP policy
|
|
93
|
-
device = policy._queue.sycl_device
|
|
94
|
-
|
|
95
|
-
def convert_or_pass(x):
|
|
96
|
-
if (x is not None) and (x.dtype == np.float64):
|
|
97
|
-
warnings.warn(
|
|
98
|
-
"Data will be converted into float32 from "
|
|
99
|
-
"float64 because device does not support it",
|
|
100
|
-
RuntimeWarning,
|
|
101
|
-
)
|
|
102
|
-
return x.astype(np.float32)
|
|
103
|
-
else:
|
|
104
|
-
return x
|
|
105
|
-
|
|
106
|
-
if not device.has_aspect_fp64:
|
|
107
|
-
func = convert_or_pass
|
|
108
|
-
|
|
109
|
-
return _apply_and_pass(func, *data)
|
|
110
|
-
|
|
111
84
|
def convert_one_from_table(table, sycl_queue=None, sua_iface=None, xp=None):
|
|
112
85
|
# Currently only `__sycl_usm_array_interface__` protocol used to
|
|
113
86
|
# convert into dpnp/dpctl tensors.
|
|
@@ -132,12 +105,6 @@ if _is_dpc_backend:
|
|
|
132
105
|
|
|
133
106
|
else:
|
|
134
107
|
|
|
135
|
-
def _convert_to_supported(policy, *data):
|
|
136
|
-
def func(x):
|
|
137
|
-
return x
|
|
138
|
-
|
|
139
|
-
return _apply_and_pass(func, *data)
|
|
140
|
-
|
|
141
108
|
def convert_one_from_table(table, sycl_queue=None, sua_iface=None, xp=None):
|
|
142
109
|
# Currently only `__sycl_usm_array_interface__` protocol used to
|
|
143
110
|
# convert into dpnp/dpctl tensors.
|