vinithius commited on
Commit
0c9eb21
verified
1 Parent(s): 4086272

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -16
app.py CHANGED
@@ -1,7 +1,6 @@
1
  import torch
2
  from torch import nn
3
  from transformers import AutoImageProcessor, Dinov2Model
4
- from huggingface_hub import hf_hub_download
5
  from PIL import Image
6
  import base64
7
  from io import BytesIO
@@ -10,24 +9,11 @@ from pydantic import BaseModel
10
 
11
  # Nome do modelo no Hugging Face Hub
12
  MODEL_NAME = "facebook/dinov2-small"
13
- MODEL_FILE = "pytorch_model.bin" # O nome do arquivo do modelo
14
 
15
  # Carregando processador e modelo
16
- # Usamos o AutoImageProcessor, que funciona, e carregamos o modelo manualmente
17
  processor = AutoImageProcessor.from_pretrained(MODEL_NAME)
18
-
19
- # Baixa o arquivo do modelo para o cache local
20
- try:
21
- model_path = hf_hub_download(repo_id=MODEL_NAME, filename=MODEL_FILE)
22
-
23
- # Carrega o modelo com o estado do arquivo baixado
24
- model = Dinov2Model.from_pretrained(model_path)
25
- except Exception as e:
26
- # Caso a primeira tentativa falhe (por ex., com Safetensors)
27
- MODEL_FILE = "model.safetensors"
28
- model_path = hf_hub_download(repo_id=MODEL_NAME, filename=MODEL_FILE)
29
- model = Dinov2Model.from_pretrained(MODEL_NAME, state_dict=torch.load(model_path), use_safetensors=True)
30
-
31
 
32
  # Proje莽茫o para 512D
33
  projection = nn.Linear(model.config.hidden_size, 512)
@@ -51,6 +37,7 @@ async def get_embedding(request: ImageRequest):
51
  image_data = base64.b64decode(img_base64)
52
  image = Image.open(BytesIO(image_data))
53
 
 
54
  inputs = processor(images=image, return_tensors="pt")
55
 
56
  with torch.no_grad():
 
1
  import torch
2
  from torch import nn
3
  from transformers import AutoImageProcessor, Dinov2Model
 
4
  from PIL import Image
5
  import base64
6
  from io import BytesIO
 
9
 
10
  # Nome do modelo no Hugging Face Hub
11
  MODEL_NAME = "facebook/dinov2-small"
 
12
 
13
  # Carregando processador e modelo
14
+ # Usamos a classe espec铆fica Dinov2Model para garantir que o modelo seja carregado corretamente
15
  processor = AutoImageProcessor.from_pretrained(MODEL_NAME)
16
+ model = Dinov2Model.from_pretrained(MODEL_NAME)
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
  # Proje莽茫o para 512D
19
  projection = nn.Linear(model.config.hidden_size, 512)
 
37
  image_data = base64.b64decode(img_base64)
38
  image = Image.open(BytesIO(image_data))
39
 
40
+ # --- L贸gica de Infer锚ncia do seu script original ---
41
  inputs = processor(images=image, return_tensors="pt")
42
 
43
  with torch.no_grad():