ascad-training-pipeline / scripts /build_docker.sh
lemousehunter
v3: Add DTP + Spectral Decoupling, fix GradNorm OOM, fix _fail_job cancel
283a882
#!/bin/bash
# ============================================================================
# Build and push the ASCAD worker Docker image
# Run this on a machine with Docker access (e.g., Vast.ai instance)
# ============================================================================
# Usage: DOCKER_PAT=xxx bash build_docker.sh
# ============================================================================
set -euo pipefail
IMAGE_NAME="lemousehunter/ascad-worker:latest"
echo "=== Building Docker image ==="
cat > /tmp/Dockerfile <<'DOCKERFILE'
FROM tensorflow/tensorflow:2.16.2-gpu
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
unzip \
screen \
&& rm -rf /var/lib/apt/lists/*
RUN pip3 install --no-cache-dir \
h5py \
numpy \
scipy \
scikit-learn \
requests \
pyyaml \
wandb \
huggingface_hub
RUN mkdir -p /tmp/ascad_data /root/ascad-training-pipeline
WORKDIR /root
DOCKERFILE
docker build -t "$IMAGE_NAME" -f /tmp/Dockerfile /tmp
echo "=== Logging in to Docker Hub ==="
echo "${DOCKER_PAT}" | docker login -u lemousehunter --password-stdin
echo "=== Pushing image ==="
docker push "$IMAGE_NAME"
echo "=== Done! Image pushed: $IMAGE_NAME ==="