Skip to content
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

Experiment with using Pyro instead of Stan? #313

Closed
nbarlowATI opened this issue Nov 18, 2020 · 3 comments
Closed

Experiment with using Pyro instead of Stan? #313

nbarlowATI opened this issue Nov 18, 2020 · 3 comments
Labels
idea Something to consider

Comments

@nbarlowATI
Copy link
Member

I think this has been discussed a couple of times before, but I couldn't find an issue for it.

Since it seems that a reasonable fraction of our installation/compatibility problems are related to Stan/pystan/gcc, is it worth trying a different probabilistic programming language for our model? Would we encounter fewer little problems with something like Pyro?
Could be a useful and fun learning exercise anyway to try to reimplement our team and player models in a different language.

@jack89roberts
Copy link
Contributor

With the problems since the backwards-incompatible pystan version bump it's probably worth prioritising this now:

  • Replace bpl team model with bpl-next
  • Re-write player model in numpyro
  • Check results and execution times are comparable
  • Remove all pystan dependences (including in pyproject.toml etc.)

I've made a branch feature/313-pyro but haven't started any of the above yet. Will try to have a look at bpl-next before the hack session on Friday.

@jack89roberts
Copy link
Contributor

Started having a play with it. 2 things I've noticed about bpl-next:

  • Need to recreate ability to get predictions for new teams without match results (made an issue in the bpl-next repo)
  • Prediction hangs if trying to run multithreaded, I think because Jax (which bpl-next uses and possibly numpyro too) is multithreaded itself so there's some conflict with multiprocessing.

@callummole
Copy link

This is implemented in #377

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
idea Something to consider
Projects
None yet
Development

No branches or pull requests

3 participants