| #!/bin/bash |
| set -e |
|
|
| echo "============================================" |
| echo " HTSR-VL Data Setup" |
| echo "============================================" |
|
|
| TRAIN_IMGS=$(find Data/training_series -name '*.png' 2>/dev/null | wc -l) |
| BENCH_IMGS=$(find MultiAgentTS/Data/benchmark_tb -name '*.png' 2>/dev/null | wc -l) |
| echo " Training images found: $TRAIN_IMGS" |
| echo " Benchmark images found: $BENCH_IMGS" |
|
|
| if [ "$TRAIN_IMGS" -lt 3000 ]; then |
| echo " WARNING: Expected ~3060 training images but found $TRAIN_IMGS." |
| echo " Make sure you cloned the repo with Git LFS enabled:" |
| echo " git lfs install && git clone https://huggingface.co/ANTICH/htsr-grpo-train" |
| echo " Or run: git lfs pull" |
| exit 1 |
| fi |
|
|
| |
| echo "[1/2] Downloading Qwen3-VL-8B-Instruct model..." |
| if [ -d "models/qwen3vl-8b-base" ] && [ "$(ls models/qwen3vl-8b-base/*.safetensors 2>/dev/null | wc -l)" -ge 4 ]; then |
| echo " Model already exists, skipping." |
| else |
| mkdir -p models/qwen3vl-8b-base |
| huggingface-cli download Qwen/Qwen3-VL-8B-Instruct \ |
| --local-dir models/qwen3vl-8b-base \ |
| --local-dir-use-symlinks False |
| echo " Model downloaded." |
| fi |
|
|
| |
| echo "[2/2] Patching preprocessor_config.json (max_pixels=262144 for ~512x512)..." |
| python3 -c " |
| import json, os |
| cfg_path = 'models/qwen3vl-8b-base/preprocessor_config.json' |
| with open(cfg_path) as f: |
| cfg = json.load(f) |
| cfg['size']['longest_edge'] = 262144 |
| cfg['size']['shortest_edge'] = 16384 |
| with open(cfg_path, 'w') as f: |
| json.dump(cfg, f, indent=2) |
| print(f' Patched: longest_edge={cfg[\"size\"][\"longest_edge\"]}, shortest_edge={cfg[\"size\"][\"shortest_edge\"]}') |
| " |
|
|
| echo "" |
| echo "============================================" |
| echo " Setup complete!" |
| echo " Model: models/qwen3vl-8b-base/" |
| echo " Train: Data/training_series/ ($TRAIN_IMGS files)" |
| echo " Bench: MultiAgentTS/Data/benchmark_tb/ ($BENCH_IMGS files)" |
| echo "" |
| echo " To start training: uv run bash run_grpo.sh" |
| echo " To run benchmark: uv run python run_benchmark_eval.py --model-path models/qwen3vl-8b-base" |
| echo "============================================" |
|
|