Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import AutoProcessor, PaliGemmaForConditionalGeneration | |
| import torch | |
| # Load model and processor | |
| model_id = "cosmo3769/finetuned_paligemma_vqav2_small" | |
| model = PaliGemmaForConditionalGeneration.from_pretrained(model_id) | |
| processor = AutoProcessor.from_pretrained("google/paligemma-3b-pt-224") | |
| # Define inference function | |
| def process_image(image, prompt): | |
| # Process the image and prompt using the processor | |
| inputs = processor(image.convert("RGB"), prompt, return_tensors="pt") | |
| # Print the inputs to debug | |
| print("Processor outputs:", inputs) | |
| try: | |
| # Generate output from the model | |
| output = model.generate(**inputs, max_new_tokens=20) | |
| # Decode and return the output | |
| decoded_output = processor.decode(output[0], skip_special_tokens=True) | |
| # Return the answer (exclude the prompt part from output) | |
| return decoded_output[len(prompt):] | |
| except IndexError as e: | |
| print(f"IndexError: {e}") | |
| return "An error occurred during processing." | |
| # Define the Gradio interface | |
| inputs = [ | |
| gr.Image(type="pil"), | |
| gr.Textbox(label="Prompt", placeholder="Enter your question") | |
| ] | |
| outputs = gr.Textbox(label="Answer") | |
| # Create the Gradio app | |
| demo = gr.Interface(fn=process_image, inputs=inputs, outputs=outputs, title="Finetuned PaliGemma on VQAv2 Small Dataset", | |
| description="Ask a question about an image") | |
| # Launch the app | |
| demo.launch() |