VeuReu commited on
Commit
c7b4660
verified
1 Parent(s): d154a5b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -11
app.py CHANGED
@@ -6,6 +6,8 @@ from typing import Dict, List, Optional, Tuple, Union
6
  import gradio as gr
7
  import spaces
8
  import torch
 
 
9
  from PIL import Image
10
  from transformers import AutoProcessor, LlavaOnevisionForConditionalGeneration
11
 
@@ -91,12 +93,18 @@ def describe_batch(images: List[Image.Image], context_json: str,
91
  return outputs
92
 
93
 
94
- def image_size_str(image: Image.Image) -> str:
95
- """Devuelve el tama帽o de la imagen en formato 'ancho x alto'."""
96
- if image is None:
97
- raise ValueError("Debes proporcionar una imagen.")
98
- width, height = image.size
99
- return f"{width}x{height}"
 
 
 
 
 
 
100
 
101
 
102
  # ----------------------------- UI & Endpoints --------------------------------
@@ -140,11 +148,6 @@ with gr.Blocks(title="Salamandra Vision 7B 路 ZeroGPU") as demo:
140
  batch_btn.click(describe_batch, [batch_in_images, batch_context, batch_max, batch_temp], batch_out,
141
  api_name="predict", concurrency_limit=1)
142
 
143
- # Endpoint utilitario: devolver tama帽o de imagen como string
144
- size_img = gr.Image(label="Imagen para tama帽o", type="pil")
145
- size_btn = gr.Button("Obtener tama帽o")
146
- size_out = gr.Textbox(label="Tama帽o (ancho x alto)")
147
- size_btn.click(image_size_str, [size_img], size_out, api_name="image_size", concurrency_limit=4)
148
 
149
  demo.queue(max_size=16).launch()
150
 
 
6
  import gradio as gr
7
  import spaces
8
  import torch
9
+ import face_recognition
10
+ import numpy as np
11
  from PIL import Image
12
  from transformers import AutoProcessor, LlavaOnevisionForConditionalGeneration
13
 
 
93
  return outputs
94
 
95
 
96
+ def face_image_embedding(image: Image.Image) -> List[float]:
97
+ try:
98
+ face_model = face_recognition
99
+ encs = face_model.face_encodings(image)
100
+ if encs:
101
+ embeddings = [(e / np.linalg.norm(e)).astype(float).tolist() for e in encs]
102
+ return embeddings
103
+ return None
104
+ except Exception as e:
105
+ print(f"Fallo embedding cara: {e}")
106
+
107
+ return None
108
 
109
 
110
  # ----------------------------- UI & Endpoints --------------------------------
 
148
  batch_btn.click(describe_batch, [batch_in_images, batch_context, batch_max, batch_temp], batch_out,
149
  api_name="predict", concurrency_limit=1)
150
 
 
 
 
 
 
151
 
152
  demo.queue(max_size=16).launch()
153