SunODE installation in Google Cloud Platform using PyMC 4.0

Exactly what the title says. Trying to use SunODE for disease modeling but haven’t been very successful in getting it to work with PyMC 4. Got some sign of life on 3.0, but we’re not sure if the code is working correctly. Any help is appreciated!

Hi @DerekKH707, there’s a sunode 0.3.0-alpha release that’s PyMC v4 compatible.
Generally it can be installed with conda install -c conda-forge/label/sunode_dev sunode but I’m not sure how to do that in Google Colab.

I’ll also coordinate with @aseyboldt about making a fully fledged 0.3.0 release which will be easier to discover.

Please let us know if you succeed with the installation!

This seems to have worked. I appreciate the quick response!

One more thing though, is the Lotka-Volterra sample associated with the GitHub page using SunODE as the solver or PyMC? Just trying to find a good way to compare the 2 solvers and see which one is better for our application.

Thanks again.

I would also like to point out that we are using Google Cloud Platform, which is different from Google Colaboratory. This is NOT possible on the latter as far as I am aware.

The example on the sunode readme page uses the sundials solvers through Aesara in a PyMC model.
It doesn’t use pm.ode.DifferentialEquation if that’s your question.

Depending on your model, sunode or jax.experimental.odeint will be the fastest, but for a fair comparison you must run them with the same tolerance settings!!

Thanks! Sorry for the rather basic questions, just now getting into Bayesian modeling and have limited python background but getting better everyday. I also would like to ask if there’s an easy way to suppress the CVODES Warnings/Errors when the sampling is running? They don’t seem to be hindering the outcomes, they just fill up the notebook with relatively unnecessary noise. You have been immensely helpful.

I don’t know how to filter these warnings unless they come from Python’s warnings or logging modules. But they are probably just plain stdout/stderr. There are ways to reroute stdout/stderr though…
Otherwise maybe search the sunode codebase for mentions of “verbose”, “verbosity” and related terms