diff --git a/scripts/train_videomme_slurm.sh b/scripts/train_videomme_slurm.sh index 0a773b9..fe48d24 100755 --- a/scripts/train_videomme_slurm.sh +++ b/scripts/train_videomme_slurm.sh @@ -25,7 +25,14 @@ set -euo pipefail -cd "$(dirname "$0")/.." +# sbatch 会把脚本拷贝到 Slurm spool 目录执行,$0 不指向仓库路径——须用 +# SLURM_SUBMIT_DIR(提交命令时所在目录,即仓库根)定位;本地直跑时回退 dirname。 +cd "${SLURM_SUBMIT_DIR:-$(dirname "$0")/..}" +echo "== 工作目录: $(pwd) ==" +[[ -f "config/train_videomme.yaml" ]] || { + echo "错误: 当前目录不是仓库根(找不到 config/train_videomme.yaml)。请在仓库根目录提交 gpu-sbatch。" >&2 + exit 1 +} echo "== Slurm Job: ${SLURM_JOB_ID:-unknown} | CUDA_VISIBLE_DEVICES=${CUDA_VISIBLE_DEVICES:-unset} ==" nvidia-smi || true