Spaces:
Sleeping
Sleeping
import gradio as gr | |
import torch | |
import torchvision.transforms.functional as TF | |
from model import NeuralNetwork | |
import json | |
device = "cuda" if torch.cuda.is_available() else "cpu" | |
def pokemon_classifier(inp): | |
model = NeuralNetwork() | |
model.load_state_dict(torch.load('model_best.pt', map_location=torch.device(device))) | |
model.eval() | |
with open('labels.json') as f: | |
labels = json.load(f) | |
x = TF.to_tensor(inp) | |
x = TF.resize(x, 64, antialias=True) | |
x = x.to(device) | |
x = x.unsqueeze(0) | |
with torch.no_grad(): | |
y_pred = model(x) | |
pokemon = torch.argmax(y_pred, dim=1).item() | |
return labels[str(pokemon)] | |
demo = gr.Interface(fn=pokemon_classifier, inputs=gr.Image(type="pil"), outputs="text") | |
demo.launch() |