Spaces:
Build error
Build error
| import gradio as gr | |
| import torch | |
| from transformers import AutoModel, AutoTokenizer | |
| from PIL import Image | |
| # Disable gradient computation | |
| torch.set_grad_enabled(False) | |
| # Initialize model and tokenizer | |
| model = AutoModel.from_pretrained('internlm/internlm-xcomposer2d5-7b', | |
| torch_dtype=torch.bfloat16, | |
| trust_remote_code=True).cuda().eval() | |
| tokenizer = AutoTokenizer.from_pretrained('internlm/internlm-xcomposer2d5-7b', | |
| trust_remote_code=True) | |
| model.tokenizer = tokenizer | |
| # Define the function to process input and generate a response | |
| def analyze_image(query, image_path): | |
| image = Image.open(image_path) | |
| # Convert image to required format and save temporarily if needed | |
| with torch.autocast(device_type='cuda', dtype=torch.float16): | |
| response, _ = model.chat(tokenizer, query, [image_path], do_sample=False, num_beams=3, use_meta=True) | |
| return response | |
| # Create Gradio interface | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## Image Analysis Tool using Hugging Face's `internlm-xcomposer2d5-7b`") | |
| with gr.Row(): | |
| query_input = gr.Textbox(label="Enter your query", placeholder="Analyze the given image in a detailed manner") | |
| with gr.Row(): | |
| image_input = gr.Image(label="Upload an Image", type="filepath") | |
| with gr.Row(): | |
| result_output = gr.Textbox(label="Result", placeholder="Model response will appear here", interactive=False) | |
| with gr.Row(): | |
| submit_button = gr.Button("Submit") | |
| submit_button.click(fn=analyze_image, inputs=[query_input, image_input], outputs=result_output) | |
| # Launch the Gradio interface | |
| demo.launch() | |