ThisIsM's picture
Deleted app.ipynb
14126bd
import gradio as gr
import json
from transformers import pipeline
def load_label_to_name_mapping(json_file_path):
"""Load the label-to-name mapping from a JSON file."""
with open(json_file_path, 'r') as f:
mapping = json.load(f)
return {int(k): v for k, v in mapping.items()}
def infer_flower_name(classifier, image):
"""Perform inference on an image and return the flower name."""
# Perform inference
# Load the model checkpoint for inference
result = classifier(image)
# Get the label from the inference result
label = result[0]['label'].split('_')[-1] # The label is usually in the format 'LABEL_#'
label = int(label)
# Map the integer label to the flower name
json_file_path = 'label_to_name.json'
label_to_name = load_label_to_name_mapping(json_file_path)
flower_name = label_to_name.get(label, "Unknown")
return flower_name
def predict(flower): # would call a model to make a prediction on an input and return the output.
classifier = pipeline("image-classification", model="checkpoint-160")
flower_name = infer_flower_name(classifier, flower)
return flower_name
description = "Upload an image of a flower and discover its species!"
title = "Bloom Classifier"
examples = ["examples/example.jpg", "examples/image_00293.jpg","examples/image_02828.jpg"]
demo = gr.Interface(fn=predict,
inputs=gr.Image(type="pil"),
outputs=gr.Label(num_top_classes=3),
description=description,
title = title,
live = False,
share=True,
examples=examples)
demo.launch()