Download scripts/launch_h3_lora.sh from Orangerl/umm: direct link, hf CLI and curl.
- Browser
- Download file 3.44 kB
-
https://huggingface.co/Orangerl/umm/resolve/main/scripts/launch_h3_lora.sh
- Command line
-
hf download hf://Orangerl/umm/scripts/launch_h3_lora.sh
-
curl -L -o launch_h3_lora.sh https://huggingface.co/Orangerl/umm/resolve/main/scripts/launch_h3_lora.sh
3.44 kB
| set -euo pipefail | |
| UMM_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | |
| cd "${UMM_ROOT}" | |
| # Downloads and SwanLab traffic must go directly from this host. | |
| unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY all_proxy ALL_PROXY | |
| export CUDA_VISIBLE_DEVICES="${CUDA_VISIBLE_DEVICES:-0,1,2,3,4,5,6,7}" | |
| export UMM_PROCESS_NAME="${UMM_PROCESS_NAME:-H3_LoRA}" | |
| export SWANLAB_PROJ_NAME="${SWANLAB_PROJ_NAME:-unified-model}" | |
| export SWANLAB_KEY_FILE="${SWANLAB_KEY_FILE:-${UMM_ROOT}/secrets/swanlab_key.txt}" | |
| export MASTER_PORT="${MASTER_PORT:-29617}" | |
| if [[ "${CUDA_VISIBLE_DEVICES}" != "0,1,2,3,4,5,6,7" ]]; then | |
| echo "H3_LoRA formal launch requires all eight GPUs; got ${CUDA_VISIBLE_DEVICES}" >&2 | |
| exit 1 | |
| fi | |
| if [[ ! -x "${UMM_ROOT}/.env/unvideo/bin/python" ]]; then | |
| echo "Portable environment is not deployed." >&2 | |
| exit 1 | |
| fi | |
| if [[ ! -s "${SWANLAB_KEY_FILE}" ]]; then | |
| echo "SwanLab key file is missing or empty: ${SWANLAB_KEY_FILE}" >&2 | |
| exit 1 | |
| fi | |
| if [[ ! -s "${UMM_ROOT}/data/cvbench_500/validation.jsonl" ]]; then | |
| echo "CV-Bench validation subset is not ready." >&2 | |
| exit 1 | |
| fi | |
| mkdir -p outputs logs | |
| "${UMM_ROOT}/.env/unvideo/bin/python" "${UMM_ROOT}/scripts/validate_covt_references.py" \ | |
| 2>&1 | tee "${UMM_ROOT}/logs/covt_reference_closure.log" | |
| "${UMM_ROOT}/.env/unvideo/bin/python" "${UMM_ROOT}/scripts/verify_bundle.py" --materialized \ | |
| 2>&1 | tee "${UMM_ROOT}/logs/H3_LoRA_preflight.log" | |
| nvidia-smi \ | |
| --query-gpu=index,name,memory.total,memory.used,memory.free,utilization.gpu,temperature.gpu \ | |
| --format=csv,noheader \ | |
| | tee logs/H3_LoRA_gpu_before_launch.log | |
| sha256sum \ | |
| configs/stage2_covt.yaml \ | |
| data/cvbench_500/validation.jsonl \ | |
| data/cvbench_500/summary.json \ | |
| code/umm/stage2_covt/train.py \ | |
| code/umm/stage2_covt/cvbench_eval.py \ | |
| > logs/H3_LoRA_launch_fingerprint.sha256 | |
| DRY_RUN=1 bash code/umm/stage2_covt/run_train.sh \ | |
| --run_name H3_LoRA-dry-run \ | |
| > logs/H3_LoRA_dry_run.log | |
| SMOKE_DIR="${UMM_ROOT}/outputs/H3_LoRA_8gpu_smoke" | |
| SMOKE_SENTINEL="${SMOKE_DIR}/SMOKE_COMPLETE" | |
| if [[ "${FORCE_SMOKE:-0}" == "1" || ! -f "${SMOKE_SENTINEL}" ]]; then | |
| mkdir -p "${SMOKE_DIR}" | |
| echo "[H3_LoRA] starting 8-GPU one-step smoke with full CV-Bench-500 evaluation" | |
| bash code/umm/stage2_covt/run_train.sh \ | |
| --output_dir "${SMOKE_DIR}" \ | |
| --max_steps 1 \ | |
| --per_device_train_batch_size 1 \ | |
| --save_strategy no \ | |
| --run_name H3_LoRA-8gpu-smoke \ | |
| --cvbench_eval_every_n_steps 1 \ | |
| 2>&1 | tee "${UMM_ROOT}/logs/H3_LoRA_8gpu_smoke.log" | |
| date -u +%FT%TZ > "${SMOKE_SENTINEL}" | |
| fi | |
| CAPACITY_DIR="${UMM_ROOT}/outputs/H3_LoRA_8gpu_batch4_smoke" | |
| CAPACITY_SENTINEL="${CAPACITY_DIR}/SMOKE_COMPLETE" | |
| if [[ "${FORCE_SMOKE:-0}" == "1" || ! -f "${CAPACITY_SENTINEL}" ]]; then | |
| mkdir -p "${CAPACITY_DIR}" | |
| echo "[H3_LoRA] starting 8-GPU batch-4 capacity smoke" | |
| bash code/umm/stage2_covt/run_train.sh \ | |
| --output_dir "${CAPACITY_DIR}" \ | |
| --max_steps 1 \ | |
| --per_device_train_batch_size 4 \ | |
| --save_strategy no \ | |
| --run_name H3_LoRA-8gpu-batch4-smoke \ | |
| --cvbench_eval_every_n_steps 0 \ | |
| 2>&1 | tee "${UMM_ROOT}/logs/H3_LoRA_8gpu_batch4_smoke.log" | |
| date -u +%FT%TZ > "${CAPACITY_SENTINEL}" | |
| fi | |
| echo "[H3_LoRA] connectivity/eval and batch-4 capacity smokes passed; starting resumable 8-GPU formal training" | |
| bash code/umm/stage2_covt/run_train.sh \ | |
| --run_name H3_LoRA-stage2-covt4-8gpu \ | |
| 2>&1 | tee -a "${UMM_ROOT}/logs/H3_LoRA_train.log" | |