Skip to content

fit_gyptorch_model refactor #1371

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

Closed
wants to merge 1 commit into from
Closed

fit_gyptorch_model refactor #1371

wants to merge 1 commit into from

Conversation

j-wilson
Copy link
Contributor

Summary:
This commit updates fit_gpytorch_model and related methods, with the aim of fixing existing issues and improving extensibility. Key changes are as follow:

  • Replace fit_gpytorch_model with fit_gpytorch_mll, a Dispatcher backed reimplementation of the original model fitting pipeline. Note that fit_gpytorch_mll does not pass kwargs to optimizer and instead introduces an optional optimizer_kwargs argument.

  • Convert fit_gpytorch_model into a convenience method for calling fit_gpytorch_mll with (limited) support for legacy API.

  • Add validation for multioutput GP fitting routines based on decomposing a single model into a list of independent models.

  • Updated unit tests for relevant code paths.

Differential Revision: D38692173

@facebook-github-bot facebook-github-bot added CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported labels Aug 31, 2022
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D38692173

@codecov
Copy link

codecov bot commented Aug 31, 2022

Codecov Report

Merging #1371 (35d4145) into main (e6ff502) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              main     #1371    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files          124       124            
  Lines        11363     11509   +146     
==========================================
+ Hits         11363     11509   +146     
Impacted Files Coverage Δ
botorch/models/transforms/input.py 100.00% <ø> (ø)
botorch/__init__.py 100.00% <100.00%> (ø)
botorch/cross_validation.py 100.00% <100.00%> (ø)
botorch/exceptions/errors.py 100.00% <100.00%> (ø)
botorch/fit.py 100.00% <100.00%> (ø)
botorch/optim/fit.py 100.00% <100.00%> (ø)
botorch/optim/numpy_converter.py 100.00% <100.00%> (ø)
botorch/optim/utils.py 100.00% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D38692173

2 similar comments
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D38692173

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D38692173

Balandat pushed a commit to Balandat/botorch that referenced this pull request Sep 9, 2022
Summary:
Pull Request resolved: pytorch#1371

This commit updates `fit_gpytorch_model` and related methods, with the aim of fixing existing issues and improving extensibility. Key changes are as follow:

- Replace `fit_gpytorch_model` with `fit_gpytorch_mll`, a `Dispatcher` backed reimplementation of the original model fitting pipeline. Note that `fit_gpytorch_mll` does **not** pass `kwargs` to `optimizer` and instead introduces an optional `optimizer_kwargs` argument.

- Convert `fit_gpytorch_model` into a convenience method for calling `fit_gpytorch_mll` with (limited) support for legacy API.

- Add validation for multioutput GP fitting routines based on decomposing a single model into a list of independent models.

- Updated unit tests for relevant code paths.

Differential Revision: https://internalfb.com/D38692173

fbshipit-source-id: f68c2c0bf6f3610631b4e1cb6de35a5da42da33a
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D38692173

@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D38692173

Summary:
X-link: facebook/Ax#1134

Pull Request resolved: #1371

This commit updates `fit_gpytorch_model` and related methods, with the aim of fixing existing issues and improving extensibility. Key changes are as follow:

- Replace `fit_gpytorch_model` with `fit_gpytorch_mll`, a `Dispatcher` backed reimplementation of the original model fitting pipeline. Note that `fit_gpytorch_mll` does **not** pass `kwargs` to `optimizer` and instead introduces an optional `optimizer_kwargs` argument.

- Convert `fit_gpytorch_model` into a convenience method for calling `fit_gpytorch_mll` with (limited) support for legacy API.

- Add validation for multioutput GP fitting routines based on decomposing a single model into a list of independent models.

- Updated unit tests for relevant code paths.

Differential Revision: D38692173

fbshipit-source-id: 58d4705c54c94726a7d81c21a9c8447af7393325
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D38692173

facebook-github-bot pushed a commit to facebookresearch/aepsych that referenced this pull request Sep 16, 2022
Summary:
X-link: facebook/Ax#1134

X-link: pytorch/botorch#1371

This commit updates `fit_gpytorch_model` and related methods, with the aim of fixing existing issues and improving extensibility. Key changes are as follow:

- Replace `fit_gpytorch_model` with `fit_gpytorch_mll`, a `Dispatcher` backed reimplementation of the original model fitting pipeline. Note that `fit_gpytorch_mll` does **not** pass `kwargs` to `optimizer` and instead introduces an optional `optimizer_kwargs` argument.

- Convert `fit_gpytorch_model` into a convenience method for calling `fit_gpytorch_mll` with (limited) support for legacy API.

- Add validation for multioutput GP fitting routines based on decomposing a single model into a list of independent models.

- Updated unit tests for relevant code paths.

Reviewed By: Balandat

Differential Revision: D38692173

fbshipit-source-id: 828cff264715cfa84ca4c4361db434574cf8fbf5
facebook-github-bot pushed a commit to facebook/Ax that referenced this pull request Sep 16, 2022
Summary:
Pull Request resolved: #1134

X-link: pytorch/botorch#1371

This commit updates `fit_gpytorch_model` and related methods, with the aim of fixing existing issues and improving extensibility. Key changes are as follow:

- Replace `fit_gpytorch_model` with `fit_gpytorch_mll`, a `Dispatcher` backed reimplementation of the original model fitting pipeline. Note that `fit_gpytorch_mll` does **not** pass `kwargs` to `optimizer` and instead introduces an optional `optimizer_kwargs` argument.

- Convert `fit_gpytorch_model` into a convenience method for calling `fit_gpytorch_mll` with (limited) support for legacy API.

- Add validation for multioutput GP fitting routines based on decomposing a single model into a list of independent models.

- Updated unit tests for relevant code paths.

Reviewed By: Balandat

Differential Revision: D38692173

fbshipit-source-id: 828cff264715cfa84ca4c4361db434574cf8fbf5
mshvartsman added a commit to mshvartsman/aepsych that referenced this pull request Nov 14, 2022
Summary:
With the recent botorch changes in pytorch/botorch#1371 it's easier to be more flexible in which optimizers we use. This brings that flexibility to AEPsych (in particular, fitting with pytorch/Adam might be much faster while having acceptable accuracy for our human in the loop requirements).

Pull Request resolved: facebookresearch#177

Test Plan: New units!

Differential Revision: D40576728

fbshipit-source-id: cc32b7b5d9fd00a26012e4149cf48e2775aa9e81
mshvartsman added a commit to mshvartsman/aepsych that referenced this pull request Nov 15, 2022
Summary:
With the recent botorch changes in pytorch/botorch#1371 it's easier to be more flexible in which optimizers we use. This brings that flexibility to AEPsych (in particular, fitting with pytorch/Adam might be much faster while having acceptable accuracy for our human in the loop requirements).

Pull Request resolved: facebookresearch#177

Test Plan: New units!

Differential Revision: D40576728

fbshipit-source-id: 6564ea2c4cc7f99a6145a0bf7f3c9334e905f900
facebook-github-bot pushed a commit to facebookresearch/aepsych that referenced this pull request Dec 1, 2022
Summary:
With the recent botorch changes in pytorch/botorch#1371 it's easier to be more flexible in which optimizers we use. This brings that flexibility to AEPsych (in particular, fitting with pytorch/Adam might be much faster while having acceptable accuracy for our human in the loop requirements).

Pull Request resolved: #177

Test Plan: New units!

Reviewed By: crasanders

Differential Revision: D40576728

fbshipit-source-id: 2eb071eedec7cb9964cc1ecbc8eff51297a874e1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants