Skip to content

andrewzeidell/test

Repository files navigation

STREAM: Systematic Template for Reliable and Efficient Artificial intelligence and Machine learning

STREAM is a powerful, modular MLOps template designed to facilitate collaborative code development, automate processes, and ensure data traceability in machine learning workflows. Each workflow step is handled by a dedicated module, making the codebase easy to extend and maintain for future projects.

Quickstart Demo: Using MLflow with STREAM

1. Prerequisites

  • Python 3.11+
  • MLflow server running (default: http://localhost:5000)
  • All dependencies from requirements.txt installed

2. Project Setup

pip install -r requirements.txt

3. Configuration

Edit ML_Project/config/config.py.jinja to set your MLflow tracking URI and experiment name:

MLFLOW_TRACKING_URI = "http://localhost:5000"
EXPERIMENT_NAME = "demo_experiment"  # Use your existing experiment name

4. Run the Demo

Each CLI command in main.py delegates to a dedicated module for modularity and extensibility.

Preprocess

python ML_Project/main.py preprocess --test-run False

Train

python ML_Project/main.py train-cmd --test-run False

Process

python ML_Project/main.py process --test-run False

Evaluate (loads last run metric and plots)

python ML_Project/main.py evaluate --test-run False

5. Visualize Results

  • The evaluate command uses plotter.py to plot regression results and save them as eval_plot.png.

6. MLflow UI

  • Open MLflow UI to view experiments and runs:
mlflow ui --backend-store-uri sqlite:///mlflow.db

Repository Structure

  • ML_Project/main.py: CLI entry point for all workflow steps.
  • ML_Project/data.py: Data preprocessing functions.
  • ML_Project/train.py: Model training functions.
  • ML_Project/plotter.py: Plotting functions for regression and metrics.
  • ML_Project/predict.py: Prediction utilities (for extensibility).
  • ML_Project/config/: Configuration files and MLflow settings.
  • ML_Project/tests/: Unit tests for workflow steps.

Contributing

We welcome contributions! Please see our Contributing Guidelines for more details.

License

This project is licensed under the terms of the GPL license. See the LICENSE file for the full license text.

Contact

If you have any questions or feedback, please feel free to contact us.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages