| Hugging Face's logo | |
| Hugging Face | |
| Search models, datasets, users... | |
| Models | |
| Datasets | |
| Spaces | |
| Docs | |
| Solutions | |
| Pricing | |
| Spaces: | |
| ahydar | |
| / | |
| ImageClassifier | |
| like | |
| 0 | |
| App | |
| Files | |
| Community | |
| ImageClassifier | |
| / | |
| app.py | |
| ahydar's picture | |
| ahydar | |
| Update app.py | |
| 681c2fe | |
| almost 2 years ago | |
| raw | |
| history | |
| blame | |
| contribute | |
| delete | |
| No virus | |
| 1.1 kB | |
| import requests | |
| import gradio as gr | |
| import torch | |
| from timm import create_model | |
| from timm.data import resolve_data_config | |
| from timm.data.transforms_factory import create_transform | |
| IMAGENET_1k_URL = "https://storage.googleapis.com/bit_models/ilsvrc2012_wordnet_lemmas.txt" | |
| LABELS = requests.get(IMAGENET_1k_URL).text.strip().split('\n') | |
| model = create_model('resnet50', pretrained=True) | |
| transform = create_transform( | |
| **resolve_data_config({}, model=model) | |
| ) | |
| model.eval() | |
| def predict_fn(img): | |
| img = img.convert('RGB') | |
| img = transform(img).unsqueeze(0) | |
| with torch.no_grad(): | |
| out = model(img) | |
| probabilites = torch.nn.functional.softmax(out[0], dim=0) | |
| values, indices = torch.topk(probabilites, k=5) | |
| return {LABELS[i]: v.item() for i, v in zip(indices, values)} | |
| title = "Image Classifier" | |
| description = "Gradio Demo for Image Classifier built with pretrained model resnet50" | |
| examples = ['cat.jpg', 'dog.jpg'] | |
| gr.Interface(predict_fn, gr.inputs.Image(type='pil'), outputs='label', title=title, description=description, examples=examples).launch() | |