Skip to main content

Lightweight ML experiment tracker — log, compare and visualize your ML experiments locally

Project description

MLens

MLens is a lightweight ML experiment tracking tool that helps data scientists log, compare, and visualize their model experiments — all running fully locally on your machine.

Installation

pip install pymlens


Why MLens

Managing multiple experiments manually becomes chaotic and time-consuming. After running several models, it becomes difficult to track which model performed best and on which problem. MLens eliminates this problem by automatically recording all your experiments in one place.


Requirements

Before using MLens, make sure these are installed:

pip install flask requests scikit-learn streamlit


Run Locally

Clone the project

git clone https://github.com/munishmalhotra6230/model_tracker-MLENS-.git

Go to the project directory

cd model_tracker-MLENS-

Install dependencies

pip install -r requirements.txt

Start the server — IMPORTANT: Server must be running before training

cd backend_monitoring python backend.py

Run test scripts

python test_scripts.py

View results on dashboard

streamlit run dashboard.py


Features

  • Easy to use — minimal code changes required
  • Runs fully locally — no cloud, no data leaves your machine
  • Records each experiment and their results automatically
  • Compare model performance visually via Streamlit dashboard
  • Supports vanilla metrics out of the box
  • Preferable for Supervised Learning with Scikit-learn

How to Use MLens

  1. Start the backend server first
  2. Declare an experiment with a meaningful name
  3. Run multiple models inside the same experiment
  4. View and compare results on the Streamlit dashboard

Demo

Demo


Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6


Usage/Examples

# Step 1 — Start server first in a separate terminal:
# cd backend_monitoring && python backend.py

# Step 2 — Use in your training code:
from pymlens import Experiment
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression

x, y = load_iris(return_X_y=True)

with Experiment("Iris_Classification") as exp:
    try:
        xtrain, xval, ytrain, yval = train_test_split(
            x, y, test_size=0.2, random_state=42
        )
        exp.Start_experiment(
            xtrain, ytrain,
            Xtest=xval, ytest=yval,
            model=LogisticRegression()
        )
        exp.Start_experiment(
            xtrain, ytrain,
            Xtest=xval, ytest=yval,
            model=RandomForestClassifier()
        )
    except Exception as e:
        print(f"An error occurred: {e}")
    finally:
        print("Experiment Completed")

Optimizations

Have suggestions? Join the Discord and share your ideas.


Feedback

Join the Discord community: https://discord.gg/svx4Sfckz


Links

portfolio


Author

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymlens-0.1.5.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymlens-0.1.5-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file pymlens-0.1.5.tar.gz.

File metadata

  • Download URL: pymlens-0.1.5.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for pymlens-0.1.5.tar.gz
Algorithm Hash digest
SHA256 2e12cf4315ef7ca63ffb39af97e8feb2392b54650660eda102ab5621af47d82f
MD5 318d76053cbd3fa62c77fe7d05478d22
BLAKE2b-256 abfa694d01fb7d0088d62fba47560931e66d58850c0ed0120fba161451be3f63

See more details on using hashes here.

File details

Details for the file pymlens-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: pymlens-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for pymlens-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cf90a351fc6ba491272528a6e848a8ffb27c026796d1e739be29be5ce8ef9efd
MD5 88b90abce8bd5b7669b4b6eea2234a7d
BLAKE2b-256 69c7fa444db6ada2ba9caa77427949a0d524614516223eee890a5046d29e611e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page