Skip to main content

A lightweight library to track and organize AI experiments.

Project description

NebulaX

NebulaX is an open-source Python library designed to empower data scientists, machine learning engineers, and researchers to track, organize, and manage their machine learning experiments with ease. NebulaX integrates seamlessly with popular frameworks like TensorFlow, PyTorch, and Scikit-learn, making experiment management efficient and intuitive.

Features

🧪 Experiment Tracking

  • Log hyperparameters, metrics, and other experiment details in an organized manner.
  • Rollback to previous versions of experiments with ease.

📊 Visualization and Comparisons

  • Visualize key metrics (e.g., accuracy, loss) over time.
  • Compare metrics across experiments for deeper insights.

📂 Storage Options

  • Save and load experiment data in JSON or SQLite format for easy sharing and reproducibility.

⚙️ Framework Integrations

  • Track experiments from TensorFlow, PyTorch, and Scikit-learn models seamlessly with built-in integrations.

🔔 Notifications and Alerts

  • Set notifications for specific metric thresholds to stay informed during training.

🚀 Advanced Features

  • Tag experiments for better organization.
  • Add, update, and retrieve experiment details effortlessly.

Installation

Install NebulaX using pip:

pip install NebulaX

Usage

Initialize an Experiment

from nebulaX.experiment import ExperimentTracker

# Create an experiment tracker
experiment = ExperimentTracker(name="Experiment 1", description="Testing model performance.")
experiment.log_param("learning_rate", 0.01)
experiment.log_param("batch_size", 32)

Log Metrics

experiment.log_metric("accuracy", 0.85)
experiment.log_metric("loss", 0.35)

Save and Load Experiments

# Save to JSON
experiment.save("experiment_data.json")

# Load from JSON
loaded_experiment = ExperimentTracker.load("experiment_data.json")

Visualize Metrics

from nebulaX.visualization import compare_experiments

# Compare experiments
compare_experiments([experiment], metric_name="accuracy", title="Accuracy Comparison")

Framework Integrations

TensorFlow

from nebulaX.experiment_integrations import TensorFlowTracker

# Wrap your TensorFlow model training
tf_tracker = TensorFlowTracker(experiment_tracker=experiment)
tf_tracker.model.fit(X_train, y_train, epochs=10, batch_size=32, callbacks=[tf_tracker])

PyTorch

from nebulaX.experiment_integrations import PyTorchTracker

# Wrap PyTorch training with tracker
pytorch_tracker = PyTorchTracker(model, optimizer, loss_fn, train_loader, val_loader, experiment_tracker=experiment, epochs=10)
pytorch_tracker.train()

Scikit-learn

from nebulaX.experiment_integrations import SklearnTracker

# Train and track a Scikit-learn model
sklearn_tracker = SklearnTracker(model, X_train, y_train, X_val, y_val, experiment_tracker=experiment)
sklearn_tracker.train()

Set Notifications

experiment.set_notification("accuracy", lambda value: value > 0.9, "Accuracy exceeded 90%!")

Rollback to Previous Versions

experiment.rollback(version=1)

Documentation

For detailed guides and examples, refer to the Documentation folder, which includes:


Contributions

Contributions are welcome! If you’d like to report an issue, suggest a feature, or contribute code, feel free to open a pull request or issue on our GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Contact

For inquiries or support, feel free to reach out via GitHub Issues.

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

nebulax-0.1.0.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

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

nebulax-0.1.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file nebulax-0.1.0.tar.gz.

File metadata

  • Download URL: nebulax-0.1.0.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.3

File hashes

Hashes for nebulax-0.1.0.tar.gz
Algorithm Hash digest
SHA256 11de6c572f7295abb9a479b8591336f3f954cd5ee7844bfbedb510923cca69bc
MD5 66a05b08b4ebc6ad2ed495fbbc944812
BLAKE2b-256 11ce4625052a5d8d568d64f20ee77b50069e424d6fdc2d24517deaac9af69516

See more details on using hashes here.

File details

Details for the file nebulax-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nebulax-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.3

File hashes

Hashes for nebulax-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5307237bf86255872e153504fefcf49a29bcce0b1b00f1760355c1b187ec980
MD5 0cedb94c8c1d80511833ecb702c1a098
BLAKE2b-256 9beb990c0c82a3bc28ecd5a486e97cd456fd203fe9a88edf9cdece69f9d97e98

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