Julia-Amadio commited on
Commit
bb17546
·
1 Parent(s): 33b7f26

Tentativa com nova bib de segmentação.

Browse files
Files changed (2) hide show
  1. Dockerfile +5 -15
  2. download_models.py +24 -0
Dockerfile CHANGED
@@ -16,21 +16,11 @@ COPY requirements.txt .
16
  RUN pip install --upgrade pip
17
  RUN pip install --no-cache-dir -r requirements.txt
18
 
19
- #PRÉ-BAIXA OS MODELOS (CONVNEXT-LARGE)
20
- RUN python -c "from huggingface_hub import snapshot_download; print('Downloading ConvNext models (snapshot)...'); snapshot_download(repo_id='facebook/convnext-large-224-22k-1k'); print('ConvNext models downloaded.')"
21
- #CORREÇÃO: Força o download do backgroundremover com imagem dummy
22
- #(Usando sintaxe de múltiplas linhas para o 'try...except')
23
- RUN python -c """
24
- import backgroundremover
25
- from PIL import Image
26
- print('Downloading backgroundremover model (u2net)...')
27
- img = Image.new('RGB', (1, 1), 'black')
28
- try:
29
- backgroundremover.remove(img)
30
- except Exception:
31
- pass
32
- print('Model download triggered.')
33
- """
34
 
35
  #Copia o código da aplicação
36
  COPY . .
 
16
  RUN pip install --upgrade pip
17
  RUN pip install --no-cache-dir -r requirements.txt
18
 
19
+ #PRÉ-BAIXA OS MODELOS
20
+ #Copia o script de download para a imagem
21
+ COPY download_models.py .
22
+ #Executa o script de download
23
+ RUN python download_models.py
 
 
 
 
 
 
 
 
 
 
24
 
25
  #Copia o código da aplicação
26
  COPY . .
download_models.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ from huggingface_hub import snapshot_download
4
+ import backgroundremover
5
+ from PIL import Image
6
+
7
+ #1. Baixa o modelo ConvNext
8
+ print("Downloading ConvNext-LARGE model (snapshot)...")
9
+ snapshot_download(repo_id='facebook/convnext-large-22k-1k')
10
+ print("ConvNext-LARGE model downloaded.")
11
+
12
+ #2. Baixa o modelo backgroundremover
13
+ print("Downloading backgroundremover model (u2net)...")
14
+ #Usa o truque da imagem falsa de 1x1 para forçar o download
15
+ img = Image.new('RGB', (1, 1), 'black')
16
+ try:
17
+ backgroundremover.remove(img)
18
+ except Exception as e:
19
+ # A execução vai falhar na imagem 1x1, o que é esperado.
20
+ # Nós não nos importamos, contanto que o download tenha sido disparado.
21
+ print(f"Disparado o download (ignora erro esperado: {e})")
22
+ pass
23
+
24
+ print("Model downloads finished.")