Spaces:
Sleeping
Sleeping
import gradio as gr | |
from PIL import Image | |
import io | |
from infer import ImageCaptioningInference | |
from models.model import ImageCaptioningModel | |
import numpy as np | |
# Initialize the model | |
model_dir = 'model' | |
model = ImageCaptioningModel() | |
model.load(model_dir) | |
inference_model = ImageCaptioningInference(model) | |
def generate_caption(image): | |
if image is None: | |
return "No image provided." | |
try: | |
# Generate caption using the image path | |
generated_caption = inference_model.infer_image(image) | |
return generated_caption | |
except Exception as e: | |
return f"Error: {str(e)}" | |
# Create Gradio interface | |
iface = gr.Interface( | |
fn=generate_caption, | |
inputs=gr.Image(type="pil"), | |
outputs="text", | |
title="Image Captioning", | |
description="Upload an image or select one from your folder to generate a caption.", | |
examples=[["test_img.jpg"]] # Add some example images if available | |
) | |
# Launch the app | |
if __name__ == "__main__": | |
iface.launch() |