Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] parallelization backend calls in utility module - part 2, backend parameter passing #5311

Merged
merged 26 commits into from Oct 7, 2023

Conversation

fkiraly
Copy link
Collaborator

@fkiraly fkiraly commented Sep 24, 2023

This PR builds on the refactoring of parallelization of backend calls in #5268.

It introduces a parameter backend_params, by which parameters can be passed on to the parallelization backend, along lines of suggestions by @hazrulakmal in #5268 (comment) (I went with dict as that allows simple **params calls, and this is closest to current syntax in pre-refactor cases).

This parameter is tied in to the refactor targets in #5268, i.e., VectorizedDF.vectorized_est and model_evaluation.evaluate, so backend_params can now be passed to both:

In addition:

  • fixes [BUG] in evaluate, kwargs for backend configuration do nothing #5310 by removing the unused kwargs evaluate and replacing the intended functionality with an actually functioning backend_params argument. Adds a deprecation warning to ensure we do not break code downstream where params are passed (even if they are not used)
  • makes various docstring improvements and adds explanation of possible backend values.

Depends on:

@fkiraly fkiraly added module:forecasting forecasting module: forecasting, incl probabilistic and hierarchical forecasting module:datatypes datatypes module: data containers, checkers & converters enhancement Adding new functionality module:metrics&benchmarking metrics and benchmarking modules module:base-framework BaseObject, registry, base framework labels Sep 24, 2023
@fkiraly fkiraly merged commit 1d37baf into main Oct 7, 2023
24 checks passed
@fkiraly fkiraly deleted the parallel-hierarchical-backendparams branch October 7, 2023 20:05
yarnabrina added a commit to yarnabrina/sktime-fork that referenced this pull request Oct 8, 2023
* origin/main:
  [MNT] skpro as a soft dependency (sktime#5273)
  [DOC] Correct code block formatting for pre-commit install command (sktime#5377)
  [ENH] parallelization backend calls in utility module - part 2, backend parameter passing (sktime#5311)
  [MNT] [Dependabot](deps): Bump stefanzweifel/git-auto-commit-action from 4 to 5 (sktime#5373)
  [MNT] python 3.12 compatibility - replace `distutils` calls with equivalent functionality (sktime#5376)
  [DOC] `sktime` intro notebook (sktime#3793)
  [ENH] Skip unnecessary fit in `ForecastX` if inner `forecaster_y` ignores `X` (sktime#5353)
  [ENH] refactor parallelization backend calls in utility module (sktime#5268)
  [ENH] ARCH model (arch package) Issue sktime#2173 (sktime#5326)
  [ENH] add error message return to `deep_equals` assert in `test_reconstruct_identical`  (sktime#4927)
  [DOC] Added all feature names to docstring for DateTimeFeatures class (sktime#5283)
  [BUG] fix `STLForecaster` tag `ignores-exogenous-X` to be correctly set for composites (sktime#5365)
  [BUG] Fix inconsistent date/time index in `plot_windows` sktime#4919 (sktime#5321)
yarnabrina added a commit to yarnabrina/sktime-fork that referenced this pull request Oct 8, 2023
* origin/main: (24 commits)
  [MNT] skpro as a soft dependency (sktime#5273)
  [DOC] Correct code block formatting for pre-commit install command (sktime#5377)
  [ENH] parallelization backend calls in utility module - part 2, backend parameter passing (sktime#5311)
  [MNT] [Dependabot](deps): Bump stefanzweifel/git-auto-commit-action from 4 to 5 (sktime#5373)
  [MNT] python 3.12 compatibility - replace `distutils` calls with equivalent functionality (sktime#5376)
  [DOC] `sktime` intro notebook (sktime#3793)
  [ENH] Skip unnecessary fit in `ForecastX` if inner `forecaster_y` ignores `X` (sktime#5353)
  [ENH] refactor parallelization backend calls in utility module (sktime#5268)
  [ENH] ARCH model (arch package) Issue sktime#2173 (sktime#5326)
  [ENH] add error message return to `deep_equals` assert in `test_reconstruct_identical`  (sktime#4927)
  [DOC] Added all feature names to docstring for DateTimeFeatures class (sktime#5283)
  [BUG] fix `STLForecaster` tag `ignores-exogenous-X` to be correctly set for composites (sktime#5365)
  [BUG] Fix inconsistent date/time index in `plot_windows` sktime#4919 (sktime#5321)
  &benshamza, fkiraly [BUG] Fix `numba` errors when calling `tslearn` `lcss` (sktime#5368)
  [MNT] Dataset file restructure (sktime#5239)
  [BUG] fix `temporal_train_test_split` for hierarchical and panel data in case where `fh` is not passed (sktime#5330)
  [MNT] [Dependabot](deps): Bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 (sktime#5355)
  [ENH] minor fixes to `NaiveAligner` (sktime#5344)
  [DOC] Improve Readability of Notebook 2 - Classification, Regression & Clustering (sktime#5312)
  [DOC] Documented ax argument and the figure in plot_series (sktime#5325)
  ...
yarnabrina added a commit to yarnabrina/sktime-fork that referenced this pull request Oct 8, 2023
…recasting

* origin/split-ci: (25 commits)
  added flags to codecov
  [MNT] skpro as a soft dependency (sktime#5273)
  [DOC] Correct code block formatting for pre-commit install command (sktime#5377)
  [ENH] parallelization backend calls in utility module - part 2, backend parameter passing (sktime#5311)
  [MNT] [Dependabot](deps): Bump stefanzweifel/git-auto-commit-action from 4 to 5 (sktime#5373)
  [MNT] python 3.12 compatibility - replace `distutils` calls with equivalent functionality (sktime#5376)
  [DOC] `sktime` intro notebook (sktime#3793)
  [ENH] Skip unnecessary fit in `ForecastX` if inner `forecaster_y` ignores `X` (sktime#5353)
  [ENH] refactor parallelization backend calls in utility module (sktime#5268)
  [ENH] ARCH model (arch package) Issue sktime#2173 (sktime#5326)
  [ENH] add error message return to `deep_equals` assert in `test_reconstruct_identical`  (sktime#4927)
  [DOC] Added all feature names to docstring for DateTimeFeatures class (sktime#5283)
  [BUG] fix `STLForecaster` tag `ignores-exogenous-X` to be correctly set for composites (sktime#5365)
  [BUG] Fix inconsistent date/time index in `plot_windows` sktime#4919 (sktime#5321)
  &benshamza, fkiraly [BUG] Fix `numba` errors when calling `tslearn` `lcss` (sktime#5368)
  [MNT] Dataset file restructure (sktime#5239)
  [BUG] fix `temporal_train_test_split` for hierarchical and panel data in case where `fh` is not passed (sktime#5330)
  [MNT] [Dependabot](deps): Bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 (sktime#5355)
  [ENH] minor fixes to `NaiveAligner` (sktime#5344)
  [DOC] Improve Readability of Notebook 2 - Classification, Regression & Clustering (sktime#5312)
  ...
yarnabrina added a commit to yarnabrina/sktime-fork that referenced this pull request Oct 8, 2023
* origin/split-ci: (25 commits)
  added flags to codecov
  [MNT] skpro as a soft dependency (sktime#5273)
  [DOC] Correct code block formatting for pre-commit install command (sktime#5377)
  [ENH] parallelization backend calls in utility module - part 2, backend parameter passing (sktime#5311)
  [MNT] [Dependabot](deps): Bump stefanzweifel/git-auto-commit-action from 4 to 5 (sktime#5373)
  [MNT] python 3.12 compatibility - replace `distutils` calls with equivalent functionality (sktime#5376)
  [DOC] `sktime` intro notebook (sktime#3793)
  [ENH] Skip unnecessary fit in `ForecastX` if inner `forecaster_y` ignores `X` (sktime#5353)
  [ENH] refactor parallelization backend calls in utility module (sktime#5268)
  [ENH] ARCH model (arch package) Issue sktime#2173 (sktime#5326)
  [ENH] add error message return to `deep_equals` assert in `test_reconstruct_identical`  (sktime#4927)
  [DOC] Added all feature names to docstring for DateTimeFeatures class (sktime#5283)
  [BUG] fix `STLForecaster` tag `ignores-exogenous-X` to be correctly set for composites (sktime#5365)
  [BUG] Fix inconsistent date/time index in `plot_windows` sktime#4919 (sktime#5321)
  &benshamza, fkiraly [BUG] Fix `numba` errors when calling `tslearn` `lcss` (sktime#5368)
  [MNT] Dataset file restructure (sktime#5239)
  [BUG] fix `temporal_train_test_split` for hierarchical and panel data in case where `fh` is not passed (sktime#5330)
  [MNT] [Dependabot](deps): Bump styfle/cancel-workflow-action from 0.11.0 to 0.12.0 (sktime#5355)
  [ENH] minor fixes to `NaiveAligner` (sktime#5344)
  [DOC] Improve Readability of Notebook 2 - Classification, Regression & Clustering (sktime#5312)
  ...
fkiraly added a commit that referenced this pull request Oct 12, 2023
…nd parameter passing in base class broadcasting (#5405)

This PR builds upon #5311 and adds
a config parameter in base classes that allows passing of backend
parameters via the `set_config` mechanism when forecasters or
transformeres broadcast for hierarchical or multivariate data.

The concomitant documentation will be added in
#5306.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Adding new functionality module:base-framework BaseObject, registry, base framework module:datatypes datatypes module: data containers, checkers & converters module:forecasting forecasting module: forecasting, incl probabilistic and hierarchical forecasting module:metrics&benchmarking metrics and benchmarking modules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] in evaluate, kwargs for backend configuration do nothing
1 participant