Skip to main content

lOE-Coe-initial-review

Repositories

pipe-breaks

Original repository for training and prediction. It has the working code and can be used for training using different algorithms, testing, and saving the models. Detailed steps can be found in the section following this.

loe-coe-App

A Streamlit app for pipe-breaks, which provides a shell script that is used to train models and predict.

Issue Encountered

I tried running the loe-coe-App Streamlit app. It has a view, but all the buttons didn't work.

Solution

I had to load the deven-loe-coe-fork repository and create a virtual environment with Python 3.8 with help of Jake.

Streamlit App

  • app.py calls a script runner.
  • The script runner calls processing.py.
  • The algorithms chosen from the GUI are used by the script runner.

Dependency Issues

  • scikit-survival == 0.13.0 is required for transfer learning but fails to install on any Python version, causing build errors. This version relies on scikit-learn <= 0.24.0.
  • scikit-learn <= 0.24.0 requires Python < 3.10, which conflicts with other requirements.
  • Manual downgrade to scikit-survival == 0.20.0 and scikit-learn <= 0.24.0 results in missing methods and API changes, leading to failures.
  • Using scikit-learn > 1.0.0 allows the Streamlit app to run but disables transfer learning functionality.

Current Situation

  • With scikit-survival == 0.13.0 and scikit-learn <= 0.24.0, the Streamlit app crashes on load.
  • With scikit-survival == 0.20.0 and scikit-learn <= 0.24.0, transfer learning doesn't work due to API changes and missing methods.
  • With scikit-learn > 1.0.0, the Streamlit app runs, but transfer learning is not supported.