cmunch1 / nba-prediction

A project to deploy an online app that predicts the win probability for each NBA game every day. Demonstrates end-to-end Machine Learning deployment.
https://cmunch1.github.io/nba-prediction/
218 stars 35 forks source link

Hopsworks API key #6

Open Twistace opened 5 months ago

Twistace commented 5 months ago

I tried to streamlit run the streamlit_app.py but got the following error:

Exception: Set environment variable HOPSWORKS_API_KEY Traceback: File "PATH\nba-prediction.venv\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 535, in _run_script exec(code, module.dict) File "PATH\nba-prediction\src\streamlit_app.py", line 46, in raise Exception('Set environment variable HOPSWORKS_API_KEY')

Couldn't insert own key or figure out a workaround because of feature store and model registry dependencies.

The whole issue raised because production-features-pipline auto action fails from time to time, therefor making the live site (cmunch1-nba-prediction.streamlit.app) outdated in those day(s).

cmunch1 commented 5 months ago

I'm trying to make time to fix the production features pipeline, hopefully soon. Hopsworks throws random type errors for no apparent reason.

The streamlit app itself will not be of any use without the production features pipeline working - it simply displays whatever data has been updated by the production features pipeline.

For a workaround until I get it fixed, you could try re-running the failed auto action a few times and see if it will self correct. Off the top of my head, I am not sure how the access control works for that, but it may be possible for you to re-run the failed action through Github.

Twistace commented 5 months ago

Thanks for the manual run in the meantime, sadly I don't have an option for manual execution here.

cmunch1 commented 5 months ago

I think I have set it up to deal with the one of the type conversion issues that prevent the run from failing, but it is odd. Sometimes it sees an NaN at one point in the run, and then during an immediate re-run, it will see the NaN at a different spot in the process. When I get a chance, I will set it up to re-try the run whenever it fails.