-
-
Notifications
You must be signed in to change notification settings - Fork 69
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
Multi output surrogates #106
Conversation
tests pass
Hmm, I'm currently seeing |
The fill vector probably got concretized on v0.9. I'd just make sure you explicitly concretize it. |
Oh wow, amazing work! When the PR will be ready to be merged I will open a good first issue for the implementation of the remaining easier multi out surrogates |
Ok, replacing the explicit scalar output of flux models with |
Awesome! Let's see if tests pass. |
Codecov Report
@@ Coverage Diff @@
## master #106 +/- ##
==========================================
- Coverage 90.65% 90.06% -0.59%
==========================================
Files 12 13 +1
Lines 1081 1037 -44
==========================================
- Hits 980 934 -46
- Misses 101 103 +2
Continue to review full report at Codecov.
|
1 similar comment
Codecov Report
@@ Coverage Diff @@
## master #106 +/- ##
==========================================
- Coverage 90.65% 90.06% -0.59%
==========================================
Files 12 13 +1
Lines 1081 1037 -44
==========================================
- Hits 980 934 -46
- Misses 101 103 +2
Continue to review full report at Codecov.
|
Nicely done. |
Ref #98. Multi-output surrogates have been created for the following, and AD is confirmed to work as well:
NeuralSurrogate
InverseDistanceSurrogate
SecondOrderPolynomialSurrogate
RadialBasis
This PR is not planned to implement multi-output surrogate optimization. The only other surrogate which is interesting to implement is
Kriging
, but I will save that for a PR where I implement a Stheno back-end. That PR will also address #100 forKriging
.This PR slightly changes the
SecondOrderPolynomialSurrogate
implementation to include all n choose 2 combinations of input dimensions.This PR preserves the type of the flux model output. In other words, for a user to return a scalar from their ANN, they should write:
model = Chain(Dense(2,1), sum)
to explicitly reduce the model output to a scalar.I currently don't plan on implementing the other surrogates (
Lobachesky
, etc.) as multi-output, but if there's interest I will. The rest follow the same pattern where each output is fit separately (at least to the extent I'm aware of). Those implementations would be fairly boilerplate, I believe.