Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import pipeline | |
| from PIL import Image | |
| import time | |
| print("📥 Chargement de BLIP-large (meilleure qualité)...") | |
| start = time.time() | |
| # BLIP-large au lieu de BLIP-base | |
| captioner = pipeline( | |
| "image-to-text", # Ce pipeline accepte image seule | |
| model="Salesforce/blip-image-captioning-large", | |
| device=-1 | |
| ) | |
| print(f"✅ Modèle chargé en {time.time() - start:.1f} secondes") | |
| def generate_caption(image, prompt_text=""): | |
| """Génère une légende pour l'image""" | |
| try: | |
| if hasattr(image, 'size'): | |
| pil_image = image | |
| else: | |
| pil_image = Image.fromarray(image.astype('uint8')) | |
| # BLIP-large ne gère pas les prompts complexes | |
| # On utilise simplement l'image | |
| result = captioner(pil_image, max_new_tokens=50) | |
| if isinstance(result, list) and len(result) > 0: | |
| caption = result[0].get('generated_text', str(result[0])) | |
| else: | |
| caption = str(result) | |
| return caption.strip() | |
| except Exception as e: | |
| return f"Erreur : {str(e)}" | |
| with gr.Blocks(title="Générateur de titres d'images (BLIP-large)") as demo: | |
| gr.Markdown(""" | |
| # 🖼️ Générateur de titres d'images | |
| **Modèle BLIP-large (meilleure qualité)** | |
| - Temps de réponse : 2-4 minutes par image ⏱️ | |
| - Le prompt est ignoré car ce modèle ne le supporte pas bien | |
| """) | |
| with gr.Row(): | |
| with gr.Column(scale=1): | |
| image_input = gr.Image(label="📸 Uploadez votre image", type="pil") | |
| btn = gr.Button("🚀 Générer le titre", variant="primary") | |
| with gr.Column(scale=1): | |
| output = gr.Textbox(label="🏷️ Titre généré", lines=4) | |
| btn.click( | |
| fn=generate_caption, | |
| inputs=[image_input], | |
| outputs=output | |
| ) | |
| demo.launch(server_name="0.0.0.0", server_port=7860) |