SciStalk's picture
Third
e3058c6
import os
import gradio as gr
import cv2
import numpy as np
from ultralytics import YOLO
image_directory = '/home/user/app/example_images'
os.makedirs(image_directory, exist_ok=True)
img_files = [file for file in os.listdir(
image_directory) if file.lower().endswith('.jpg') or file.lower().endswith('.png')]
path = [os.path.join(image_directory, filename) for filename in img_files]
model = YOLO('/home/user/app/train_cls_best_small.pt')
inputs_image = [
gr.components.Image(type="filepath", label="Input Image"),
]
outputs_text = [
gr.components.Textbox(type="text", label="Model predict"),
]
def show_preds_image(image_path):
results = model(image_path)
names_dict = results[0].names
probs = results[0].probs.data.tolist()
return names_dict[np.argmax(probs)], np.max(probs)
interface_image = gr.Interface(
fn=show_preds_image,
inputs=inputs_image,
outputs=outputs_text,
title="Cat vs Dog",
examples=path,
cache_examples=False,
)
gr.TabbedInterface(
[interface_image],
tab_names=['Image Inference'],
).queue().launch(debug=True)