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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11de6c572f7295abb9a479b8591336f3f954cd5ee7844bfbedb510923cca69bc
|
|
| MD5 |
66a05b08b4ebc6ad2ed495fbbc944812
|
|
| BLAKE2b-256 |
11ce4625052a5d8d568d64f20ee77b50069e424d6fdc2d24517deaac9af69516
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5307237bf86255872e153504fefcf49a29bcce0b1b00f1760355c1b187ec980
|
|
| MD5 |
0cedb94c8c1d80511833ecb702c1a098
|
|
| BLAKE2b-256 |
9beb990c0c82a3bc28ecd5a486e97cd456fd203fe9a88edf9cdece69f9d97e98
|