Comments (12)
Hi Vaibhav, thanks for your support, you've certainly not slowed me down! I'll prepare the initial version of the repo over the next couple of days.
from diffeqbayes.jl.
Yes in the DiffEqBayes PR I made these changes.
from diffeqbayes.jl.
Just successfully ran the Stan tests on the updated master of DiffEqBayes.
I also experimented with the 4 parameter model by injecting more noise and widening the priors. That also behaves ok.
For StatisticalRethinking chapter 16 I would like to use DiffEqBayes but really can't use it in it's current form. It simply has too many dependencies.
I wonder if the current DiffEqBayes should just target Turing and if there is interest in splitting off a DiffEqBayesStan.jl. Maybe the same argument could be made for DynamicHMC.
If you feel that goes too far outside the objectives of SciML, I could create a DiffEqBayesStan.jl in StanJulia.
from diffeqbayes.jl.
We had switched to require
for DynamicHMC and CmdStan but I moved StanSample out of it because it seems to have less issues in installation to me, we can move it back but I don't think that's what you want. I am not sure it's too many dependencies, the motivation was to have a unified interface for several PPL packages through this package so that has been the approach so far. I am curious if you can specify a bit more what seems excessive here to you we can maybe take care of that?
from diffeqbayes.jl.
Thanks Vaibhav, you are of course correct that the objectives of DiffEqBayes are much broader than my question.
My main problem has been (time and time again) that pulling in too many dependencies creates version conflicts and/or compilation warnings and/or package downgrades. This has gotten better over the last few years but in just trying to help out here showed me these issues are still there.
It certainly doesn't help that I prefer to develop on nightly. Currently (last time I tried it a few days ago) DiffEqBayes only works on Julia 1.6, not on 1.7/1.8. For very good reasons!
CmdStan and StanJulia all require Stan's cmdstan executable to be installed and hence to use Stan behind Requires makes perfect sense. Requesting to put all 3 behind Requires seems ridiculous to me. Hence my thought for a StanJulia sibling of DiffEqBayes.jl.
from diffeqbayes.jl.
CmdStan and StanJulia all require Stan's cmdstan executable to be installed and hence to use Stan behind Requires makes perfect sense.
Right yeah, let's move it back in there then.
Requesting to put all 3 behind Requires seems ridiculous to me.
We still keep Turing outside it just DynamicHMC and Stan behind it.
Hence my thought for a StanJulia sibling of DiffEqBayes.jl.
I am a little hesitant since this project is already not heavily developed so splitting will thin both the users and dev effort. I get your pain for version incompatibilities but to be honest DiffEqBayes is probably one with least issues as compared to some other packages in the SciML ecosystem. I am not looking to counter you though, so feel free to move ahead if you do think it's the best way forward we can always just link back to this repo so users can discover it.
from diffeqbayes.jl.
It's not the most user facing repository. I mean, it kind of is a higher level interface for people who don't want to dig into PPLs, but the most useful thing has actually been for devs to benchmark between PPLs.
from diffeqbayes.jl.
from diffeqbayes.jl.
@goedman let's go ahead with it, I see the value and there is hardly any downside as discussed above, will be exciting! Sorry to have slowed you down with my concerns.
from diffeqbayes.jl.
@Vaibhavdixit02 , I did send you an invite to StanJulia. Of course up to you if you wanna accept this! Or I could send you an invite to just DiffEqBayesStan.jl a bit later on.
A local version of DiffEqBayesStan is basically working. I like to make a few more updates, the most important ones are:
- Switching the tests to Tables.jl based chains (I don't think right now AxisArrays.jl in MCMCChains runs on J1.7 & 1.8).
- Add the DEB tests as examples to Stan.jl (which I use to test all of StanJulia on 1.6, 1.7 & nightly).
And also, slightly longer term:
- I would love to add a SIR model example.
- I'm looking into a way of making the code in
stan_inference()
easier to grasp by creating a step-by-step example script documenting the key steps like generating the ODE model code, generating constraints on the parameters and generating the priors (maybe as a Pluto notebook). This is part ofhow far can we push?
code like this:
if isnothing(diffeq_string)
sys = ModelingToolkit.modelingtoolkitize(prob)
length_of_parameter = length(ModelingToolkit.parameters(sys)) + sample_u0 * length(save_idxs)
else
length_of_parameter = length(prob.p) + sample_u0 * length(save_idxs)
end
- Better understand the
save_idxs
related lines instan_inference()
.
Rob
from diffeqbayes.jl.
Hey @goedman I didn't receive the invitation unfortunately, can you send it again?
from diffeqbayes.jl.
Hi @Vaibhavdixit02 , Just redid it.
from diffeqbayes.jl.
Related Issues (20)
- Parallel abc_inference HOT 1
- TagBot trigger issue HOT 30
- abc_inference with parallel = true gives error HOT 2
- Change ABC inference engine? HOT 2
- DomainError: Starting point has non-finite density using DynamicHMC backend HOT 7
- Use updated `build_function` HOT 3
- Possible regression in Turing integration HOT 2
- Turing inference BoundsError when save_idxs is single value HOT 4
- Remove Requires.jl usage through subpackaging
- Dependency problem HOT 4
- Add a pointer to the Turing.jl direct usage tutorial from the documentation
- abc_inference is not included but exported HOT 1
- Default sigma priors differ for Stan and Turing
- Default dimensionality of Sigma differs for Stan and Turing
- Duplicate using statement and formatting
- Multiple shooting analogue for MCMC HOT 1
- need second order ode example HOT 2
- Support for sampling from multiple chains is missing from `turing_inference` HOT 2
- CmdStan archived
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from diffeqbayes.jl.