| # TriMode OPSD + DyME on ChartQA (LLaVA-OV 0.5B) | |
| set -euo pipefail | |
| cd "$(dirname "$0")/.." | |
| source "$(dirname "$0")/launch_utils.sh" | |
| export DYME_OPSD_MODE="${DYME_OPSD_MODE:-trimode}" | |
| export DYME_OPSD_PROVIDERS="${DYME_OPSD_PROVIDERS:-text,visual_facts}" | |
| export DYME_OUTPUT_DIR="${DYME_OUTPUT_DIR:-./outputs/trimode-chartqa}" | |
| export DYME_OPSD_DEBUG="${DYME_OPSD_DEBUG:-1}" | |
| ACCELERATE_CONFIG="$(resolve_accelerate_config)" | |
| NUM_PROCESSES="$(detect_num_gpus)" | |
| print_launch_plan | |
| LOG_DIR="${DYME_LOG_DIR:-./outputs/logs}" | |
| mkdir -p "${LOG_DIR}" | |
| LOG_FILE="${LOG_DIR}/train_trimode_$(date +%Y%m%d_%H%M%S).log" | |
| echo "OPSD debug enabled: ${DYME_OPSD_DEBUG}" | |
| echo "Writing full training log to: ${LOG_FILE}" | |
| accelerate launch --config_file "${ACCELERATE_CONFIG}" --num_processes "${NUM_PROCESSES}" main.py \ | |
| --config config/config_trimode.py \ | |
| --mode rl \ | |
| --opsd_enabled \ | |
| --opsd_debug \ | |
| --opsd_mode "${DYME_OPSD_MODE}" \ | |
| --opsd_providers "${DYME_OPSD_PROVIDERS}" \ | |
| 2>&1 | tee "${LOG_FILE}" | |