Waffle hub
Project description
Waffle is a framework that lets you use lots of different deep learning tools through just one interface. When it comes to MLOps (machine learning operations), you need to be able to keep up with all the new ideas in deep learning as quickly as possible. But it's hard to do that if you have to write all the code yourself. That's why we started a project to bring together different tools into one framework.
Experience the power of multiple deep learning frameworks at your fingertips with Waffle's seamless integration, unlocking limitless possibilities for your machine learning projects.
Prerequisites
We've tested Waffle on the following environments:
OS | Python | PyTorch | Device | Backend | Pass |
---|---|---|---|---|---|
Ubuntu 20.04 | 3.9, 3.10 | 1.13.1 | CPU, GPU | All | |
Windows | 3.9, 3.10 | 1.13.1 | CPU, GPU | All | |
Ubuntu 20.04 | 3.9 | 1.13.1 | Multi GPU | Ultralytics |
We recommend using above environments for the best experience.
Installation
- Install pytorch and torchvision
- PyTorch and TorchVision (We recommend using 1.13.1)
- Install Waffle Hub
pip install -U waffle-hub
Example Usage
We provide both python module and CLI for Waffle Hub.
Following examples do the exact same thing.
Python Module
from waffle_hub.dataset import Dataset
dataset = Dataset.sample(
name = "mnist_classification",
task = "classification",
)
dataset.split(
train_ratio = 0.8,
val_ratio = 0.1,
test_ratio = 0.1
)
export_dir = dataset.export("YOLO")
from waffle_hub.hub import Hub
hub = Hub.new(
name = "my_classifier",
task = "classification",
model_type = "yolov8",
model_size = "n",
categories = dataset.get_category_names(),
)
hub.train(
dataset = dataset,
epochs = 30,
batch_size = 64,
image_size=64,
device="cpu"
)
hub.inference(
source=export_dir,
draw=True,
device="cpu"
)
CLI
wd sample --name mnist_classification --task classification
wd split --name mnist_classification --train-ratio 0.8 --val-ratio 0.1 --test-ratio 0.1
wd export --name mnist_classification --data-type YOLO
wh new --name my_classifier --task classification --model-type yolov8 --model-size n --categories [1,2]
wh train --name my_classifier --dataset mnist_classification --epochs 30 --batch-size 64 --image-size 64 --device cpu
wh inference --name my_classifier --source datasets/mnist_classification/exports/YOLO --draw --device cpu
See our documentation for more information!
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
File details
Details for the file waffle_hub-0.2.7.tar.gz
.
File metadata
- Download URL: waffle_hub-0.2.7.tar.gz
- Upload date:
- Size: 82.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb7878dd4af82a43f64020567d502eca7384dd72b421bcbb8b78b63d4cfe8b8f |
|
MD5 | 9ff0b890e06779b094e32665a9eefb3a |
|
BLAKE2b-256 | 3ba1ba7559f16f7053aa2b1c0111db444c0a1146e792b236d74f860f9cfc9863 |
File details
Details for the file waffle_hub-0.2.7-py3-none-any.whl
.
File metadata
- Download URL: waffle_hub-0.2.7-py3-none-any.whl
- Upload date:
- Size: 93.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95eaafa2ad4593e6c51b1578cd641fc93dacabab43125e956c8684dff4363890 |
|
MD5 | bf8f0b34d1516a03fcf7f2ec7a37e2f1 |
|
BLAKE2b-256 | 4ae616b347d8913e587c668f0670a6cc1e9792df580caf859da6419f012b2b77 |