Fix remaining BayesianInference benchmark issues - #1552
Conversation
- Remove duplicate DiffEqCallbacks import in Lorenz - Add num_samples to Lorenz Stan sample_kwargs - Use @Btime for turing_inference/dynamichmc_inference in Lorenz - Fix dynamichmc solve_kwargs: named tuple to Dict - Remove unused DynamicHMC import from FitzHughNagumo - Add SciMLBase to Project.toml deps and compat
|
Hlw I just opened this PR after syncing with upstream and reviewing the recent commits. Let me know if anything looks off or if any changes are needed. |
|
PEM = Prediction Error Method? I don't see how that factors into this. |
|
Sorry for the confusion. PEM in my notes was shorthand for p_EM the Euler Maruyama pseudo likelihood not Prediction Error Method. |
|
Apologies for the off topic comments. This PR is purely a cleanup no new code no new benchmarks. Happy to rebase or make any changes if needed. |
|
@ChrisRackauckas Could you please approve the workflows so CI can run? Reduced num_samples to 1_000 to fix the previous timeout. This PR is purely a cleanup no new benchmarks or logic changes. |
|
Approved, but the CI has a lot of backlog. |
|
The spell check failures are pre existing in other benchmark files and are not related to my changes. My PR only touches DiffEqBayesFitzHughNagumo.jmd DiffEqBayesLorenz.jmd and Project.toml |


This PR cleans up and fixes a few lingering issues in the benchmarks/BayesianInference/ folder that were still present after the recent upstream updates.
What Changed
Fixed inconsistencies and small bugs in DiffEqBayesLorenz.jmd, DiffEqBayesFitzHughNagumo.jmd and Project.toml.
Why
After syncing with upstream and reviewing the latest commits, I noticed a few problems:
DiffEqBayesLorenz.jmd was importing DiffEqCallbacks twice.
The Stan sampling call in Lorenz was missing : num_samples => 10_000 which made it inconsistent with LotkaVolterra and FitzHughNagumo.
turing_inference and dynamichmc_inference in Lorenz were using @time instead of @Btime unlike the other benchmarks.
dynamichmc_inference in Lorenz passed solve_kwargs as a named tuple instead of a Dict which did not match the turing_inference call.
DiffEqBayesFitzHughNagumo.jmd was importing DynamicHMC even though dynamichmc_inference is not used there.
All three benchmarks used SciMLBase.FullSpecialize but SciMLBase was not listed in Project.toml.
How
Removed the duplicate DiffEqCallbacks import in Lorenz.
Added : num_samples => 10_000 to the Stan call in Lorenz.
Switched @time to @Btime in Lorenz benchmarks.
Changed solve_kwargs in dynamichmc_inference to a Dict.
Removed the unused DynamicHMC import from FitzHughNagumo.
Added SciMLBase to [deps] and [compat] in Project.toml.