Spaces:
Running
Running
Download app.py from ferplazas2014/PRUEBAS: direct link, hf CLI and curl.
- Browser
- Download file 2.2 kB
-
https://huggingface.co/spaces/ferplazas2014/PRUEBAS/resolve/main/app.py
- Command line
-
hf download hf://spaces/ferplazas2014/PRUEBAS/app.py
-
curl -L -o app.py https://huggingface.co/spaces/ferplazas2014/PRUEBAS/resolve/main/app.py
2.2 kB
| import gradio as gr | |
| from transformers import TrOCRProcessor, VisionEncoderDecoderModel | |
| from PIL import Image | |
| # Cargar modelo OCR de Hugging Face | |
| processor = TrOCRProcessor.from_pretrained("microsoft/trocr-base-stage1") | |
| model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-base-stage1") | |
| # Lógica para analizar banners | |
| def analizar_banner(img): | |
| pixel_values = processor(images=img, return_tensors="pt").pixel_values | |
| generated_ids = model.generate(pixel_values) | |
| texto = processor.batch_decode(generated_ids, skip_special_tokens=True)[0].lower() | |
| # Clasificación basada en prioridad | |
| if any(x in texto for x in ["día de la madre", "día del padre", "navidad", "san valentín", "día de la mujer", "día del hombre"]): | |
| tipologia = "fechas especiales" | |
| descripcion = next((x for x in ["día de la madre", "día del padre", "navidad", "san valentín", "día de la mujer", "día del hombre"] if x in texto), "") | |
| elif "nuevo" in texto: | |
| tipologia = "lanzamiento o innovación" | |
| descripcion = "nuevo producto" | |
| elif any(x in texto for x in ["vacaciones", "verano", "invierno", "playa", "regreso a clases"]): | |
| tipologia = "big seasonality" | |
| descripcion = "temporada" | |
| elif any(x in texto for x in ["solar fest", "madrugón", "miércoles de dermocosmética"]): | |
| tipologia = "evento marca e-retailer" | |
| descripcion = "" | |
| elif any(x in texto for x in ["promo", "promoción", "descuento", "%"]): | |
| tipologia = "dinamica comercial" | |
| descripcion = "" | |
| elif any(x in texto for x in ["beneficio", "ingrediente", "cuida", "hidrata"]): | |
| tipologia = "informativo" | |
| descripcion = "" | |
| else: | |
| tipologia = "informativo" | |
| descripcion = "" | |
| resultado = f"🧾 Texto detectado:\n{texto}\n\n🏷️ Tipología: {tipologia}\n📝 Descripción: {descripcion}" | |
| return resultado | |
| # Interfaz Gradio | |
| demo = gr.Interface( | |
| fn=analizar_banner, | |
| inputs=gr.Image(type="pil"), | |
| outputs="text", | |
| title="🧠 Clasificador OCR de Banners (demo HuggingFace)", | |
| description="Sube un banner y detectaremos automáticamente su contenido y tipología." | |
| ) | |
| demo.launch() | |