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

Update installation docs for Prophet #2713

Merged
merged 7 commits into from
Sep 7, 2021
Merged

Update installation docs for Prophet #2713

merged 7 commits into from
Sep 7, 2021

Conversation

ParthivNaresh
Copy link
Contributor

Fixes #2688

@codecov
Copy link

codecov bot commented Aug 31, 2021

Codecov Report

Merging #2713 (27d5e21) into main (6ae6c16) will increase coverage by 0.8%.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##            main   #2713     +/-   ##
=======================================
+ Coverage   99.2%   99.9%   +0.8%     
=======================================
  Files        301     301             
  Lines      27827   27827             
=======================================
+ Hits       27581   27778    +197     
+ Misses       246      49    -197     
Impacted Files Coverage Δ
evalml/tests/automl_tests/test_automl.py 99.7% <0.0%> (+0.1%) ⬆️
evalml/automl/utils.py 100.0% <0.0%> (+1.7%) ⬆️
...lml/tests/automl_tests/test_iterative_algorithm.py 100.0% <0.0%> (+4.5%) ⬆️
evalml/tests/automl_tests/test_automl_utils.py 100.0% <0.0%> (+9.4%) ⬆️
.../automl_tests/test_automl_search_classification.py 100.0% <0.0%> (+10.6%) ⬆️
...ests/automl_tests/test_automl_search_regression.py 100.0% <0.0%> (+15.5%) ⬆️
evalml/automl/pipeline_search_plots.py 100.0% <0.0%> (+53.6%) ⬆️
...l/tests/automl_tests/test_pipeline_search_plots.py 100.0% <0.0%> (+74.5%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6ae6c16...27d5e21. Read the comment docs.

README.md Outdated
@@ -30,6 +30,23 @@ Prophet is currently only supported via pip installation in EvalML.
```shell
pip install evalml[prophet]
```
Another option for installing Prophet with CmdStan as a backend is to use `make installdeps-prophet`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might want to think about moving this instructions to Install page on the docs. This currently will make the README.md much longer. You could link from the README.md to the Install documentation page.

We put graphviz install instructions in our Install docs:
https://featuretools.alteryx.com/en/latest/install.html#installing-graphviz

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gsheni Thanks for the recommendation!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also agree with this recommendation @ParthivNaresh !

@ParthivNaresh ParthivNaresh marked this pull request as ready for review September 1, 2021 19:35
@@ -70,6 +70,14 @@ installdeps:
pip install --upgrade pip -q
pip install -e . -q

SITE_PACKAGES_DIR=$$(python -c 'import site; print(site.getsitepackages()[0])')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I first tried this out in a fresh environment, I got the infamous no such file ...prophet_model.bin error when I tried running the unit tests.

I was really confused about why this happened, but when I looked at the pip install, I saw:

Collecting prophet==1.0.1
  Using cached prophet-1.0.1-py3-none-any.whl

This stood out to me because as we all know by now, prophet does not publish any wheels! So I was confused why we weren't building from source.

Then I read the pip documentation, and I learned that locally built wheels are added to the cache.

So my guess as to what went wrong for me is that I had installed prophet beforehand without a cmdstan backend and then subsequent installs with a cmdstan backend were using the cached version so it was not properly setting up cmdstan.

So in short, I think we need to do pip install --no-cache-dir prophet==1.0.1 instead. That properly set up the cmdstan backend and I was able to get the unit tests to pass.

Apparently, --no-cache-dir is discouraged, but the workaround in the pip docs did not work for me.

README.md Outdated
Comment on lines 33 to 34
Another option for installing Prophet with CmdStan as a backend is to use `make installdeps-prophet`.
This command will do the following:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a beginner user, I'm a bit confused on how to use this command. This assumes that a user actually has the evalml repo; that is, I can't just create a new virtual env, pip install evalml, and then run this. I'd need to have cloned the evalml repo and run this while in the evalml repo, correct?

If that's true, we should make that clear! (though also makes me question how often people would take this route)

Copy link
Contributor

@chukarsten chukarsten left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seemed clear and it worked for me.

Copy link
Contributor

@freddyaboulton freddyaboulton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @ParthivNaresh !

@ParthivNaresh ParthivNaresh merged commit 411a0c1 into main Sep 7, 2021
@ParthivNaresh ParthivNaresh deleted the prophet-docs branch September 7, 2021 19:34
@chukarsten chukarsten mentioned this pull request Sep 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update docs for Prophet Installation
5 participants