| #!/usr/bin/env bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| set -euo pipefail |
|
|
| LOG_PREFIX="[bootstrap]" |
| echo "$LOG_PREFIX starting on $(hostname) at $(date -Iseconds)" |
|
|
| : "${HF_TOKEN:?HF_TOKEN env var required}" |
| : "${HF_DATASET_REPO:=HaaDeej/cineleum-training-data}" |
| : "${HF_CHECKPOINT_REPO:=HaaDeej/cineleum-controlnet-sdxl}" |
| : "${CINELEUM_CODE_REPO:=HaaDeej/cineleum-controlnet-sdxl}" |
| : "${CINELEUM_CODE_BRANCH:=main}" |
|
|
| export HF_TOKEN |
| export HUGGING_FACE_HUB_TOKEN="$HF_TOKEN" |
|
|
| |
| |
| |
| |
| echo "$LOG_PREFIX uninstalling ABI-broken flash-attn/xformers..." |
| pip uninstall -y flash-attn xformers 2>&1 | tail -3 || true |
|
|
| echo "$LOG_PREFIX installing python deps..." |
| pip install --no-cache-dir --quiet \ |
| "diffusers==0.31.0" \ |
| "transformers==4.46.3" \ |
| "accelerate==1.0.1" \ |
| "peft==0.13.2" \ |
| "safetensors==0.4.3" \ |
| "bitsandbytes==0.49.2" \ |
| "huggingface-hub==0.25.0" \ |
| "pyiqa==0.1.15.post2" \ |
| "scenedetect==0.6.7.1" \ |
| "ImageHash==4.3.2" \ |
| "opencv-python-headless==4.11.0.86" \ |
| "lpips==0.1.4" \ |
| "numpy==1.26.4" \ |
| "pillow==12.2.0" \ |
| "scipy==1.17.1" \ |
| "tqdm==4.67.1" \ |
| "wandb" 2>&1 | tail -20 || { |
| echo "$LOG_PREFIX pip install FAILED" ; exit 1 |
| } |
| echo "$LOG_PREFIX deps installed" |
|
|
| |
| |
| mkdir -p /workspace/scripts /workspace/code |
| cd /workspace |
|
|
| echo "$LOG_PREFIX downloading code tarball..." |
| huggingface-cli download "$CINELEUM_CODE_REPO" \ |
| "code/cineleum_code.tar.gz" \ |
| --repo-type=model --local-dir=/tmp/cineleum_code \ |
| --token="$HF_TOKEN" 2>&1 | tail -5 |
| tar xzf /tmp/cineleum_code/code/cineleum_code.tar.gz -C /workspace/ |
| rm -rf /tmp/cineleum_code |
|
|
| |
| for f in handler_train.sh scripts/train_controlnet_sdxl.py; do |
| if [ ! -f "/workspace/$f" ]; then |
| echo "$LOG_PREFIX ERROR: missing /workspace/$f after code-extract" |
| exit 2 |
| fi |
| done |
| echo "$LOG_PREFIX code ready in /workspace" |
|
|
| chmod +x /workspace/handler_train.sh |
|
|
| |
| echo "$LOG_PREFIX handing off to handler_train.sh" |
| exec /workspace/handler_train.sh |
|
|