Demo

https://huggingface.co/spaces/jerilseb/quickdraw-small

Usage

import torch
from torch import nn
import torchvision.transforms as transforms
import torch.nn.functional as F
from pathlib import Path

LABELS = Path("classes.txt").read_text().splitlines()
num_classes = len(LABELS)

model = nn.Sequential(
    nn.Conv2d(1, 64, 3, padding="same"),
    nn.ReLU(),
    nn.MaxPool2d(2),
    nn.Conv2d(64, 128, 3, padding="same"),
    nn.ReLU(),
    nn.MaxPool2d(2),
    nn.Conv2d(128, 256, 3, padding="same"),
    nn.ReLU(),
    nn.MaxPool2d(2),
    nn.Flatten(),
    nn.Linear(2304, 512),
    nn.ReLU(),
    nn.Linear(512, num_classes),
)

state_dict = torch.load("model.pth", map_location="cpu")
model.load_state_dict(state_dict)
model.eval()

transform = transforms.Compose(
    [
        transforms.Resize((28, 28)),
        transforms.ToTensor(),
        transforms.Normalize((0.5,), (0.5,)),
    ]
)

def predict(image):
    image = image['composite']
    tensor = transform(image).unsqueeze(0)
    with torch.no_grad():
        out = model(tensor)

    probabilities = F.softmax(out[0], dim=0)
    values, indices = torch.topk(probabilities, 5)
    print(values, indices)
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no library tag.

Space using jerilseb/quickdraw-small 1