|
import gradio as gr |
|
import numpy as np |
|
from PIL import Image |
|
from transformers import SegformerFeatureExtractor, TFSegformerForSemanticSegmentation |
|
|
|
|
|
feature_extractor = SegformerFeatureExtractor.from_pretrained( |
|
"nvidia/segformer-b1-finetuned-cityscapes-1024-1024") |
|
model = TFSegformerForSemanticSegmentation.from_pretrained( |
|
"nvidia/segformer-b1-finetuned-cityscapes-1024-1024") |
|
|
|
|
|
def classify_image(img): |
|
|
|
inputs = feature_extractor(images=img, return_tensors="tf") |
|
|
|
|
|
predictions = model(**inputs) |
|
|
|
|
|
predicted_label = tf.argmax(predictions.logits[0], axis=-1).numpy() |
|
|
|
|
|
return predicted_label |
|
|
|
|
|
iface = gr.Interface(fn=classify_image, |
|
inputs="image", |
|
outputs="label", live=True) |
|
|
|
|
|
iface.launch() |
|
|