rationalmatter / Juno-Issue-Tracker

Defect Tracker for Juno
76 stars 1 forks source link

Add Theano #294

Open mchelaru opened 2 years ago

mchelaru commented 2 years ago

Describe the bug Installing pymc3 doesn’t result in a usable pymc3.

To Reproduce Steps to reproduce the behavior:

  1. Install pymc3
  2. Restart kernel
  3. Import pymc3 as pm
  4. See that semver is missing (No module named semver, fails at pymc3/init.py:22)
  5. Install semver
  6. Restart kernel
  7. Import pymc3 as pm
  8. See that theano is missing (No module named theano, fails at pymc3/init.py:23)
  9. Install theano - no error reported
  10. Restart kernel
  11. Import pymc3 as pm
  12. See that theano is missing
  13. Goto 9.

Expected behavior I would expect import pymc3 to just work after installing it.

Screenshots If applicable, add screenshots or a screen recording to help explain your problem.

Environment (please complete the following information):

alexstaravoitau commented 2 years ago

Thanks for reporting and apologies for a late reply @mchelaru.

As you have correctly identified, the issue is not in pymc3 itself, but in installing theano. Looks like theano only offers source distribution, and attempts to compile some native extensions during installation — this is something iOS does not support, I'm afraid. I'm converting this issue into a package request for theano, this means we will need to recompile it for iOS and embed into the app binary.

dwinkler1 commented 1 year ago

We are already at version 5 of pymc and the only package that seems to be an issue now is pytensor. Should I create a separate issue for that? It would be so amazing to have pymc on the iPad. Please let me know if I can contribute to making it work.

alexstaravoitau commented 1 year ago

Hey @danielw2904 — still no progress here, sorry. Pytensor does seem like the core part of this whole thing, and it seems to use some form of compilation to evaluate expression efficiently (or so it seems, apologies if I'm reading it wrong), which may be quite tricky to get to work on iOS. I'm still hoping to look into it at some point though.