-
Notifications
You must be signed in to change notification settings - Fork 18
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
Add failsafe EKI with sample_succ_gauss handler. #112
Conversation
36edd79
to
13ea9db
Compare
This works for me locally, any idea what the error means? @charleskawczynski @jakebolewski |
I'm getting a seg fault, I can try taking a closer look tomorrow |
Thanks! That would be helpful. Are you getting seg fault locally? All the tests run for me locally (MacOS), but fail here |
Yep |
I think this is an upstream issue. I'm still not sure from where, but it might be productive to try using more recent versions to confirm if that's the case. |
Upstream from what packages? We should be up to date with all packages since the CompatHelper has not recommended any new PR. |
Our |
Thanks @charleskawczynski !! I think we merged a compat change that did not test the changes from SCS. I tested SCS 0.9 and it leads to segfaults. SCS 1.0 cannot be used yet because of compat issues with Convex.jl, although I think they will be updating that package to v0.15 very soon. Version 0.8 works. |
c983972
to
958aa26
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks this looks great! i think all my comments are now addressed.
For the sake of codecov - could you add something to test the warnings that are thrown when 50% fail, or singular covariance? I think you could maybe see if the following are nonempty:
@test_logs(:warn,) update_ensemble(...)
or
@test_logs(:info,) update_ensemble(...)
Then I'm happy to merge
Sounds good. I will add these as unit tests of the respective functions to be a bit cleaner. |
bors r+ |
Build succeeded: |
EnsembleKalmanProcess
objects.IgnoreFailures
failure handler for allEnsembleKalmanProcess
es, which maintains the former behavior of the algorithms (i.e, do nothing upon failure).SampleSuccGauss
failure handler for the Inversion process, which advances the failed ensemble by sampling from an empirical gaussian formed by the successful ensemble.update_ensemble!
. If nothing is passed, failures are taken to be those forward model evaluations that contain NaNs.In addition:
update_ensemble!
, and into functions..._update
.update_ensemble!
.