ATCTrack-VLM / scripts /test_qwen_state.sh
SunXiang2025's picture
Update: two-stage training, per-channel FiLM gate, cosine scheduler, 9B config
b3f019f verified
Raw
History Blame Contribute Delete
2.78 kB
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="${PROJECT_DIR:-$(cd "${SCRIPT_DIR}/.." && pwd)}"
PYTHON_BIN="${PYTHON_BIN:-/media/data/WWZ/HZY/miniconda3/envs/VLT/bin/python}"
GPUS="${GPUS:-0,1,2,3}"
TRACKER_NAME="${TRACKER_NAME:-atctrack}"
TRACKER_PARAM="${TRACKER_PARAM:-atctrack_qwen_state}"
DATASET_NAME="${DATASET_NAME:-lasot_lang}"
CKPT_PATH="${CKPT_PATH:-${PROJECT_DIR}/checkpoints/ATCTrack_ep0015.pth.tar}"
THREADS="${THREADS:-4}"
NUM_GPUS="${NUM_GPUS:-4}"
DEBUG="${DEBUG:-0}"
SEQUENCE="${SEQUENCE:-}"
SAVE_DIR="${SAVE_DIR:-${PROJECT_DIR}/output}"
ROBERTA_MODEL_PATH="${ROBERTA_MODEL_PATH:-${PROJECT_DIR}/resource/pretrained_models/roberta-base}"
DATASET_ROOT="${DATASET_ROOT:-${PROJECT_DIR}/../Dataset}"
LASOT_LANG_DIR="${LASOT_LANG_DIR:-${DATASET_ROOT}/LaSOT/LaSOTBenchmark}"
LASOT_TEST_DIR="${LASOT_TEST_DIR:-${LASOT_LANG_DIR}}"
TNL2K_TEST_DIR="${TNL2K_TEST_DIR:-${DATASET_ROOT}/TNL2K/test}"
OTB_LANG_DIR="${OTB_LANG_DIR:-${DATASET_ROOT}/otb_lang}"
LASOT_EXTENSION_SUBSET_DIR="${LASOT_EXTENSION_SUBSET_DIR:-${DATASET_ROOT}/lasot_extension_subset}"
# Test-time updater uses the external Qwen state server. Teacher is only needed for training labels.
QWEN_UPDATER_BASE_URL="${QWEN_UPDATER_BASE_URL:-http://127.0.0.1:8001}"
QWEN_UPDATER_TIMEOUT="${QWEN_UPDATER_TIMEOUT:-120}"
QWEN_TEACHER_ENABLE="${QWEN_TEACHER_ENABLE:-false}"
QWEN_TEACHER_MODEL="${QWEN_TEACHER_MODEL:-qwen3.5}"
QWEN_TEACHER_BASE_URL="${QWEN_TEACHER_BASE_URL:-http://127.0.0.1:8001/v1}"
QWEN_TEACHER_API_KEY="${QWEN_TEACHER_API_KEY:-sk-no-key-required}"
export CUDA_VISIBLE_DEVICES="${GPUS}"
export ATCTRACK_VLM_PROJECT_DIR="${PROJECT_DIR}"
export SAVE_DIR
export ROBERTA_MODEL_PATH
export DATASET_ROOT
export LASOT_LANG_DIR
export LASOT_TEST_DIR
export TNL2K_TEST_DIR
export OTB_LANG_DIR
export LASOT_EXTENSION_SUBSET_DIR
export QWEN_UPDATER_BASE_URL
export QWEN_UPDATER_TIMEOUT
export QWEN_TEACHER_ENABLE
export QWEN_TEACHER_MODEL
export QWEN_TEACHER_BASE_URL
export QWEN_TEACHER_API_KEY
if [[ ! -f "${CKPT_PATH}" ]]; then
echo "Checkpoint not found: ${CKPT_PATH}" >&2
exit 1
fi
cd "${PROJECT_DIR}"
cmd=(
"${PYTHON_BIN}" tracking/test.py
--tracker_name "${TRACKER_NAME}"
--tracker_param "${TRACKER_PARAM}"
--dataset_name "${DATASET_NAME}"
--ckpt_path "${CKPT_PATH}"
--threads "${THREADS}"
--num_gpus "${NUM_GPUS}"
--debug "${DEBUG}"
)
if [[ -n "${SEQUENCE}" ]]; then
cmd+=(--sequence "${SEQUENCE}")
fi
echo "PROJECT_DIR=${PROJECT_DIR}"
echo "CKPT_PATH=${CKPT_PATH}"
echo "DATASET_NAME=${DATASET_NAME}"
echo "TRACKER_PARAM=${TRACKER_PARAM}"
echo "GPUS=${GPUS}"
echo "QWEN_UPDATER_BASE_URL=${QWEN_UPDATER_BASE_URL}"
echo "QWEN_TEACHER_ENABLE=${QWEN_TEACHER_ENABLE}"
echo "Running: ${cmd[*]}"
"${cmd[@]}"