# CXR-VLM training environment. # Matches the Colab GPU runtime fingerprint verified on 2026-05: # Python 3.12.13 # torch 2.10.0+cu128 # CUDA 12.8 (nvcc 12.8.93) # cuDNN 9.10.2 # glibc 2.35 (Ubuntu 22.04 base) # bnb 0.49.2 (4-bit quantize verified) # # ─── Host requirements ──────────────────────────────────────────────────────── # This image requires NVIDIA driver >= 550.54 on the host (CUDA 12.8 runtime). # • Colab — driver 580+, OK # • Vast.ai — filter "CUDA Driver >= 550" when picking an instance # • Lightning AI — A10G / A100 / H100 OK; check older T4 Studios # • RunPod — pick a 12.8-compatible template or BYO image # # T4 (sm_75) note: torch.cuda.is_bf16_supported() returns True via emulation, # but T4 has no hardware BF16. Keep train_cfg.training.fp16=True / bf16=False # on T4. On A100/L4/H100 (sm_80+) you can flip to bf16. # # ─── Build & push ───────────────────────────────────────────────────────────── # docker build -t /cxr-vlm-env:cu128 docker/ # docker push /cxr-vlm-env:cu128 # # ─── Base image fallbacks (if 2.10.0-cuda12.8 tag is missing on Docker Hub) ── # FROM nvcr.io/nvidia/pytorch:25.04-py3 # NVIDIA NGC, always cu128 # FROM pytorch/pytorch:2.10.0-cuda12.8-cudnn9-devel # +5GB, includes nvcc # FROM pytorch/pytorch:2.6.0-cuda12.6-cudnn9-runtime # stable, slightly older # `-runtime` (no CUDA toolkit/nvcc) is enough — bitsandbytes 0.49 ships # precompiled wheels, nothing in our deps compiles CUDA from source. FROM pytorch/pytorch:2.10.0-cuda12.8-cudnn9-runtime ENV DEBIAN_FRONTEND=noninteractive \ PYTHONUNBUFFERED=1 \ BITSANDBYTES_NOWELCOME=1 \ TOKENIZERS_PARALLELISM=false \ HF_HUB_DISABLE_PROGRESS_BARS=1 \ TRANSFORMERS_VERBOSITY=warning \ PIP_BREAK_SYSTEM_PACKAGES=1 # ↑ PEP 668: the base image uses Debian's "externally-managed" system Python, # which blocks `pip install` by default. Inside a single-purpose container # there's nothing else to break, so we allow pip to write to site-packages. RUN apt-get update && \ apt-get install -y --no-install-recommends git wget curl && \ rm -rf /var/lib/apt/lists/* COPY requirements_docker.txt /tmp/requirements_docker.txt RUN pip install --no-cache-dir -r /tmp/requirements_docker.txt WORKDIR /workspace