#!/bin/bash set -euo pipefail if [ "$#" -lt 1 ]; then echo "usage: $0 " >&2 exit 1 fi cd "$(dirname "$0")/../.." source ./activate.sh TARGET="$1" if [ -d "${TARGET}" ]; then RUN_DIR="${TARGET}" RUN_NAME="$(basename "${RUN_DIR}")" else RUN_NAME="${TARGET}" RUN_DIR="artifacts/search_evaluation/tuning_runs/${RUN_NAME}" fi if [ ! -d "${RUN_DIR}" ]; then echo "run dir not found: ${RUN_DIR}" >&2 exit 1 fi DATASET_ID="${REPO_EVAL_DATASET_ID:-clothing_top771}" MAX_EVALS="${MAX_EVALS:-20}" BATCH_SIZE="${BATCH_SIZE:-2}" CANDIDATE_POOL_SIZE="${CANDIDATE_POOL_SIZE:-96}" RANDOM_SEED="${RANDOM_SEED:-20260424}" BATCH_EVAL_TIMEOUT_SEC="${BATCH_EVAL_TIMEOUT_SEC:-0}" LAUNCH_DIR="artifacts/search_evaluation/tuning_launches" mkdir -p "${LAUNCH_DIR}" LOG_PATH="${LAUNCH_DIR}/${RUN_NAME}.daemon.log" PID_PATH="${LAUNCH_DIR}/${RUN_NAME}.daemon.pid" CMD_PATH="${LAUNCH_DIR}/${RUN_NAME}.daemon.cmd" CMD=( bash scripts/evaluation/run_coarse_fusion_tuning_resilient.sh "${RUN_NAME}" "${DATASET_ID}" "${MAX_EVALS}" "${BATCH_SIZE}" "${CANDIDATE_POOL_SIZE}" "${RANDOM_SEED}" "${RUN_DIR}/search_space.yaml" "" "${RUN_DIR}" ) export BATCH_EVAL_TIMEOUT_SEC printf '%q ' "${CMD[@]}" > "${CMD_PATH}" printf '\n' >> "${CMD_PATH}" setsid "${CMD[@]}" > "${LOG_PATH}" 2>&1 < /dev/null & PID=$! echo "${PID}" > "${PID_PATH}" echo "run_name=${RUN_NAME}" echo "pid=${PID}" echo "log=${LOG_PATH}" echo "pid_file=${PID_PATH}" echo "cmd_file=${CMD_PATH}" echo "run_dir=${RUN_DIR}" echo echo "tail -f ${LOG_PATH}" echo "cat ${RUN_DIR}/leaderboard.csv"