Spaces:
Sleeping
Sleeping
import gradio as gr | |
from ultralytics import YOLO | |
import os | |
# catgories | |
format = { 0: 'Adenocarcinoma case', | |
1: 'Bengin case', | |
2: 'Large cell Carcinoma case', | |
3: 'Malignant case', | |
4: 'Normal case', | |
5: 'Squamous cell Carcinoma case'} | |
# returning classifiers output | |
def image_classifier(inp): | |
model = YOLO("best-2.pt") | |
result = model.predict(source=inp) | |
probs = result[0].probs | |
max_tensor = max(probs) | |
tensor_pos = ((probs == max_tensor).nonzero(as_tuple=True)[0]) | |
return format.get(int(tensor_pos)) | |
# gradio code block for input and output | |
with gr.Blocks() as app: | |
gr.Markdown("## Lung Cancer classification using Yolov8") | |
with gr.Row(): | |
inp_img = gr.Image() | |
out_txt = gr.Textbox() | |
btn = gr.Button(value="Submit") | |
btn.click(image_classifier, inputs=inp_img, outputs=out_txt) | |
gr.Markdown("## Image Examples") | |
gr.Examples( | |
examples=[os.path.join(os.path.dirname(__file__), "1.jpg"), os.path.join(os.path.dirname(__file__), "2.jpg")], | |
inputs=inp_img, | |
outputs=out_txt, | |
fn=image_classifier, | |
cache_examples=True, | |
) | |
app.launch() | |