Spaces:
Sleeping
Sleeping
| # ββ Stage: RetViM HuggingFace Space ββββββββββββββββββββββββββββββββββββββββββ | |
| # rebuild trigger: 2026-03-28 | |
| FROM python:3.11-slim | |
| WORKDIR /app | |
| # System dependencies for Pillow / OpenCV / matplotlib | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| libglib2.0-0 \ | |
| libsm6 \ | |
| libxext6 \ | |
| libxrender-dev \ | |
| libgl1 \ | |
| libgomp1 \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # ββ Install PyTorch CPU-only first (saves ~1.8 GB vs default CUDA wheel) βββββ | |
| # HF free-tier Spaces have no GPU, so CPU-only is both correct and fast. | |
| RUN pip install --no-cache-dir \ | |
| torch==2.2.0 \ | |
| torchvision==0.17.0 \ | |
| --index-url https://download.pytorch.org/whl/cpu | |
| # ββ Remaining Python dependencies (layer-cached before code copy) βββββββββββββ | |
| RUN pip install --no-cache-dir \ | |
| "fastapi==0.104.1" \ | |
| "uvicorn[standard]==0.24.0" \ | |
| "timm>=0.9.10" \ | |
| "Pillow>=10.1.0" \ | |
| "numpy>=1.26.2,<2" \ | |
| "matplotlib>=3.8.2" \ | |
| "scikit-learn>=1.3.2" \ | |
| "scipy>=1.11.4" \ | |
| "python-multipart==0.0.6" \ | |
| "einops==0.7.0" \ | |
| "python-dotenv==1.0.0" | |
| # Copy application source + frontend HTML | |
| COPY *.py . | |
| COPY retvim-final.html . | |
| # Copy model weights (tracked via Git LFS) | |
| COPY real_weights.pth . | |
| # Copy research figure images for /images static route | |
| COPY images/ images/ | |
| # HuggingFace Spaces listens on 7860 | |
| EXPOSE 7860 | |
| CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"] | |