Skip to main content

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 Waffle Hub cpu test
Windows 3.9, 3.10 1.13.1 CPU, GPU All Waffle Hub cpu test
Ubuntu 20.04 3.9 1.13.1 Multi GPU Ultralytics Waffle Hub multi-gpu(ddp) test on self-hosted runner

We recommend using above environments for the best experience.

Installation

  1. Install pytorch and torchvision
  2. 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


Download files

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

Source Distribution

waffle_hub-0.3.0a1.tar.gz (92.8 kB view details)

Uploaded Source

Built Distribution

waffle_hub-0.3.0a1-py3-none-any.whl (102.4 kB view details)

Uploaded Python 3

File details

Details for the file waffle_hub-0.3.0a1.tar.gz.

File metadata

  • Download URL: waffle_hub-0.3.0a1.tar.gz
  • Upload date:
  • Size: 92.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for waffle_hub-0.3.0a1.tar.gz
Algorithm Hash digest
SHA256 87ec5c8b7f9ca4f7e779dbfdf8826db4cd2537b9c1de4f25b3124dd7a9368362
MD5 0d165b13d8edfdb9e6d3991ef5355704
BLAKE2b-256 95e0fb09fb7731681b70843fe34f3be91eec40a73b051791b14b0cb96b24343a

See more details on using hashes here.

File details

Details for the file waffle_hub-0.3.0a1-py3-none-any.whl.

File metadata

  • Download URL: waffle_hub-0.3.0a1-py3-none-any.whl
  • Upload date:
  • Size: 102.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for waffle_hub-0.3.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 45f3e215cc857f58397ab5c7d284c673a15f9494b1cf13c58f77b08014e813eb
MD5 c4fd57a26de1ee5d903e08a5d1afbc0f
BLAKE2b-256 3e2a14e7ee357476c0a8fe84b751b149951045abc50713dc336941a769e0340e

See more details on using hashes here.

Supported by

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