EchoLoc / data_construction /pipeline /07_submit_reference_inference.sh
zsy814's picture
Initial EchoLoc code release
d8bfe4a verified
Raw
History Blame Contribute Delete
3.53 kB
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/env.sh"
cd "${SCRIPT_DIR}"
echo "[1/2] export aligned eval inputs"
"${SCRIPT_DIR}/06_export_eval_inputs.sh"
REFERENCE_SAMPLE_SIZE="${REFERENCE_SAMPLE_SIZE:-50}"
REFERENCE_SAMPLE_SEED="${REFERENCE_SAMPLE_SEED:-42}"
REFERENCE_INPUT_DIR="${REFERENCE_INPUT_DIR:-${EVAL_INPUT_DIR}/reference_sample_${REFERENCE_SAMPLE_SIZE}}"
REFERENCE_MODEL_OUT_ROOT="${REFERENCE_MODEL_OUT_ROOT:-${DATA_ROOT}/model_outputs/reference_sample_${REFERENCE_SAMPLE_SIZE}}"
if [[ "${REFERENCE_SAMPLE_SIZE}" =~ ^[0-9]+$ ]] && [[ "${REFERENCE_SAMPLE_SIZE}" -gt 0 ]]; then
echo "[sample] selecting ${REFERENCE_SAMPLE_SIZE} aligned rows for reference inference"
python3 "${QUERY_PRE}/sample_reference_inputs.py" \
--e2e_input "${E2E_INPUT}" \
--talker_input "${TALKER_INPUT_ALL}" \
--response_input "${EVAL_INPUT_DIR}/response_tts_input_aligned.jsonl" \
--out_dir "${REFERENCE_INPUT_DIR}" \
--sample_size "${REFERENCE_SAMPLE_SIZE}" \
--seed "${REFERENCE_SAMPLE_SEED}"
REF_E2E_INPUT="${REFERENCE_INPUT_DIR}/e2e_input_aligned.jsonl"
REF_TALKER_INPUT="${REFERENCE_INPUT_DIR}/talker_input_all.jsonl"
REF_RESPONSE_INPUT="${REFERENCE_INPUT_DIR}/response_tts_input_aligned.jsonl"
else
echo "[sample] REFERENCE_SAMPLE_SIZE=${REFERENCE_SAMPLE_SIZE}; using full aligned inputs"
REF_E2E_INPUT="${E2E_INPUT}"
REF_TALKER_INPUT="${TALKER_INPUT_ALL}"
REF_RESPONSE_INPUT="${EVAL_INPUT_DIR}/response_tts_input_aligned.jsonl"
fi
echo "[2/2] submit reference jobs"
jid_talker_base=$(INPUT_JSONL="${REF_TALKER_INPUT}" OUT_DIR="${REFERENCE_MODEL_OUT_ROOT}/talker_baseline_from_constructed_thinker" sbatch --parsable "${SCRIPT_DIR}/run_talker_baseline_a800.sbatch")
jid_talker_sft=$(INPUT_JSONL="${REF_TALKER_INPUT}" OUT_DIR="${REFERENCE_MODEL_OUT_ROOT}/talker_sft_vstyle_46000_from_constructed_thinker" sbatch --parsable "${SCRIPT_DIR}/run_talker_sft_a800.sbatch")
jid_omni=$(INPUT_JSONL="${REF_E2E_INPUT}" OUT_DIR="${REFERENCE_MODEL_OUT_ROOT}/qwen3omni_e2e_from_query_audio" sbatch --parsable "${SCRIPT_DIR}/run_omni_e2e_a800.sbatch")
REF_RESPONSE_QWEN3_DIR="${REFERENCE_MODEL_OUT_ROOT}/response_audio/qwen3tts_response_serena_a800"
REF_RESPONSE_INDEXTTS_DIR="${REFERENCE_MODEL_OUT_ROOT}/response_audio/indextts_response_serena_a800_floatsave"
jid_resp_qwen=$(INPUT_JSONL="${REF_RESPONSE_INPUT}" OUT_HOME="${REF_RESPONSE_QWEN3_DIR}" EXTRA_ARGS="${REFERENCE_QWEN3TTS_EXTRA_ARGS:---speakers serena}" sbatch --parsable "${SCRIPT_DIR}/run_response_tts_qwen3_a800.sbatch")
jid_resp_idx=$(AUDIO_IN_DIR="${REF_RESPONSE_QWEN3_DIR}" OUT_HOME="${REF_RESPONSE_INDEXTTS_DIR}" sbatch --parsable --dependency=afterok:${jid_resp_qwen} "${SCRIPT_DIR}/run_response_tts_indextts_a800.sbatch")
cat > "${DATA_ROOT}/downstream_jobs.json" <<EOF
{
"response_qwen3tts": "${jid_resp_qwen}",
"response_indextts": "${jid_resp_idx}",
"talker_baseline": "${jid_talker_base}",
"talker_sft": "${jid_talker_sft}",
"omni_e2e": "${jid_omni}",
"reference_sample_size": "${REFERENCE_SAMPLE_SIZE}",
"reference_sample_seed": "${REFERENCE_SAMPLE_SEED}",
"reference_input_dir": "${REFERENCE_INPUT_DIR}",
"reference_model_out_root": "${REFERENCE_MODEL_OUT_ROOT}",
"reference_response_qwen3_dir": "${REF_RESPONSE_QWEN3_DIR}",
"reference_response_indextts_dir": "${REF_RESPONSE_INDEXTTS_DIR}"
}
EOF
squeue -j "${jid_resp_qwen},${jid_resp_idx},${jid_talker_base},${jid_talker_sft},${jid_omni}" \
-o '%.18i %.9P %.32j %.8T %.10M %.6D %R'