| | import os |
| | os.environ.setdefault("GRADIO_ANALYTICS_ENABLED", "False") |
| | import logging |
| | import gradio as gr |
| | from pillow_heif import register_heif_opener |
| |
|
| | register_heif_opener() |
| |
|
| | from transformers import pipeline |
| |
|
| |
|
| | LOG_LEVEL = os.getenv("LOG_LEVEL", "DEBUG") |
| | MAX_NEW_TOKENS = int(os.getenv("MAX_NEW_TOKENS", 200)) |
| | |
| | MODEL = os.getenv("MODEL", "Salesforce/blip-image-captioning-large") |
| |
|
| | logging.basicConfig(level=LOG_LEVEL) |
| | logger = logging.getLogger(__name__) |
| |
|
| |
|
| | logger.info("Loading model...") |
| | |
| | captioner = pipeline( |
| | "image-to-text", |
| | model=MODEL, |
| | max_new_tokens=MAX_NEW_TOKENS, |
| | ) |
| | logger.info("Done loading model.") |
| |
|
| |
|
| |
|
| | def graptioner(img): |
| | result = captioner(img) |
| | caption = result[0]["generated_text"] |
| | return caption |
| |
|
| | iface = gr.Interface( |
| | fn=graptioner, |
| | inputs=gr.components.Image(type="pil"), |
| | outputs=["text"], |
| | allow_flagging="never", |
| | |
| | ) |
| |
|
| | iface.launch() |
| |
|