rrnoa commited on
Commit
5f1b538
1 Parent(s): 214f52e
Files changed (2) hide show
  1. Dockerfile +13 -7
  2. app.py +7 -26
Dockerfile CHANGED
@@ -1,32 +1,38 @@
1
  # Usa una imagen base con soporte para Python y CUDA
2
  FROM nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu20.04
3
 
4
- # Establece variables de entorno necesarias
5
  ENV TRANSFORMERS_CACHE="/app/.cache" \
6
  HF_HOME="/app/.cache" \
7
- PATH="/opt/conda/bin:$PATH"
 
8
 
9
- # Instala dependencias b谩sicas
10
- RUN apt-get update && apt-get install -y \
11
  python3 \
12
  python3-pip \
13
  git \
 
14
  && rm -rf /var/lib/apt/lists/*
15
 
16
  # Establece el directorio de trabajo
17
  WORKDIR /app
18
 
 
19
  RUN mkdir -p /app/.cache && chmod -R 777 /app/.cache
20
 
21
  # Copia el archivo requirements.txt al contenedor
22
  COPY requirements.txt /app/requirements.txt
23
 
24
- # Instala las dependencias necesarias
25
- RUN pip install --upgrade pip
26
  RUN pip install -r requirements.txt
27
 
28
- # Copia los archivos de la aplicaci贸n al contenedor
29
  COPY . /app
30
 
 
 
 
31
  # Comando para ejecutar la aplicaci贸n
32
  CMD ["python3", "app.py"]
 
1
  # Usa una imagen base con soporte para Python y CUDA
2
  FROM nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu20.04
3
 
4
+ # Establece variables de entorno necesarias para el cach茅 y CUDA
5
  ENV TRANSFORMERS_CACHE="/app/.cache" \
6
  HF_HOME="/app/.cache" \
7
+ PATH="/opt/conda/bin:$PATH" \
8
+ DEBIAN_FRONTEND=noninteractive
9
 
10
+ # Actualiza e instala dependencias b谩sicas
11
+ RUN apt-get update && apt-get install -y --no-install-recommends \
12
  python3 \
13
  python3-pip \
14
  git \
15
+ && apt-get clean \
16
  && rm -rf /var/lib/apt/lists/*
17
 
18
  # Establece el directorio de trabajo
19
  WORKDIR /app
20
 
21
+ # Crea el directorio de cach茅 y asigna permisos
22
  RUN mkdir -p /app/.cache && chmod -R 777 /app/.cache
23
 
24
  # Copia el archivo requirements.txt al contenedor
25
  COPY requirements.txt /app/requirements.txt
26
 
27
+ # Actualiza pip y las dependencias de Python
28
+ RUN python3 -m pip install --upgrade pip
29
  RUN pip install -r requirements.txt
30
 
31
+ # Copia todos los archivos de la aplicaci贸n al contenedor
32
  COPY . /app
33
 
34
+ # Expone el puerto donde la aplicaci贸n se ejecutar谩 (opcional, si es necesario)
35
+ EXPOSE 7860
36
+
37
  # Comando para ejecutar la aplicaci贸n
38
  CMD ["python3", "app.py"]
app.py CHANGED
@@ -1,34 +1,15 @@
1
- from fastapi import FastAPI
2
- from contextlib import asynccontextmanager
3
  from diffusers import StableDiffusionDepth2ImgPipeline
4
  import torch
5
 
6
- @asynccontextmanager
7
- async def lifespan(app: FastAPI):
8
- global pipe
9
- # Inicializa el modelo Marigold al inicio
10
- print("Cargando el modelo Marigold...")
11
  pipe = StableDiffusionDepth2ImgPipeline.from_pretrained(
12
  "prs-eth/marigold-depth-v1-0",
13
  torch_dtype=torch.float16
14
  )
15
  pipe.to("cuda")
16
- print("Modelo Marigold cargado exitosamente.")
17
- yield
18
- # Libera recursos si es necesario
19
- del pipe
20
- print("Recursos liberados al finalizar la aplicaci贸n.")
21
-
22
- app = FastAPI(lifespan=lifespan)
23
-
24
- @app.get("/")
25
- async def root():
26
- return {"message": "Marigold API funcionando correctamente"}
27
-
28
- @app.post("/depthmap/")
29
- async def generate_depth_map(input_image: str):
30
- # Genera un mapa de profundidad a partir de la imagen
31
- print("Generando mapa de profundidad...")
32
- result = pipe(input_image)
33
- depth_map = result.images[0] # Resultado procesado
34
- return {"depth_map": depth_map}
 
 
 
1
  from diffusers import StableDiffusionDepth2ImgPipeline
2
  import torch
3
 
4
+ # Carga del modelo
5
+ print("[DEBUG] Iniciando prueba de carga del modelo Marigold...")
6
+ try:
 
 
7
  pipe = StableDiffusionDepth2ImgPipeline.from_pretrained(
8
  "prs-eth/marigold-depth-v1-0",
9
  torch_dtype=torch.float16
10
  )
11
  pipe.to("cuda")
12
+ print("[DEBUG] Modelo Marigold cargado exitosamente.")
13
+ except Exception as e:
14
+ print(f"[ERROR] Error al cargar el modelo: {e}")
15
+ raise e