-
-
Notifications
You must be signed in to change notification settings - Fork 10
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
Preliminary switch to CmdStan backend #21
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@conda-forge-admin, please rerender |
…nda-forge-pinning 2021.12.13.11.03.33
Awesome!!! I've been dreaming of this moment for a very long time. 😄 |
Huh, just noticed that CmdStan never built on MacOS for 2.26. Seems like the CI failed after passing in the PR and I never re-ran it. |
@WardBrian, I am hopeful that this will solve #10 (comment) if we no longer have to rely on the pickled model. |
Yeah I don't think the PyStan recommendation of pickling model objects was ever going to scale very well to this level of userbase |
Maybe you can figure it out since you now have so much experience with compilers on conda-forge. 😅 |
I knew I should have brought my windows laptop with me today. Anyway, currently this works for Linux and MacOS. For some reason the windows build failed before even running the pip install command. I'm hoping it works this time, if not I'll investigate more on a local machine tomorrow |
@maresb, looking at #10 it is almost certainly caused by the pin_compatible, which is only necessary if you're building against the numpy C api (which prophet isn't, but I think PyStan does). It can be removed, but it might make sense to wait until the prophet build process has been simplified and you don't need all the runtime dependencies at build time. |
@WardBrian sounds like a great plan! Thanks so much for working on this. |
The most recent commit here passed all tests. I rebuilt 2.26 for OSX this morning, so I'm trying on that version as it is currently the preferred one for Prophet it seems. I enabled Azure saving artifacts from these builds but haven't been able to download them for some reason, possibly permissions related. If anyone else can, it would be great to have someone test this on their own machine. Note: |
Okay I can confirm on Ubuntu 20.04, Python 3.9 that I was able to exactly recreate the peyton manning example from the Prophet docs using this build. |
@conda-forge-admin, please rerender |
…nda-forge-pinning 2021.12.13.11.03.33
I've additionally tested on Windows 10 and MacOS 11.4 and can confirm the built binary works exactly as intended |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that Linux and Mac packages are including /bin/cmdstan/stan/src/stan/model/model_header.hpp.gch
which is 168 MB. Is this necessary, or is it possible to prevent this?
@bletham, are you okay with us defaulting to CmdStan here on Conda-Forge??? |
If we don’t want to merge this right away that’s totally fine by me, it was just important to verify that this would be reasonable to do before dropping PyStan upstream. That said, it is workable with the current version so you could have a new build which relies solely on cmdstan. I’ll try to address the above comments either way |
I'm a bit out of the loop in general regarding Prophet. I just now saw the reference to facebook/prophet#2041. I don't have any opinion about when to merge. Hopefully we can delete the that huge header. But regardless, everything looks great to me! 😄 I'm very glad to see all those crusty aspects of installation being fixed up. |
@WardBrian, this looks great to me. I'll leave it to you and @bletham to decide when is the right time to merge. |
@conda-forge-admin, please rerender |
…nda-forge-pinning 2022.05.31.15.36.22
@WardBrian Can we merge this? I would like to get |
My plan is to port the changes here into #24 actually, since prophet upstream is now using cmdstanpy by default |
Checklist
conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)This is related to facebook/prophet#2041. The goal is simply to get a working version of prophet which builds using the CmdStanPy backend.
This builds locally for the linux builds.