#!/usr/bin/env bash set -euo pipefail PROJECT_ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd) cd "$PROJECT_ROOT" source "$PROJECT_ROOT/scripts/single_node/server_profile_defaults.sh" apply_server_profile_defaults TIMESTAMP=$(date +%Y%m%d_%H%M%S) export OMNIGEN_CODE_ROOT="${OMNIGEN_CODE_ROOT:-/apdcephfs_zwfy2/share_303944931/connorxian/Code/medUni/wt/zr/gen_joint}" export CONFIG_ENTRY="${CONFIG_ENTRY:-config/grpo.py:general_radiomics_omnigen_4gpu_kl_eval}" export SFT_LORA_PATH="${SFT_LORA_PATH:-/apdcephfs_zwfy2/share_303944931/connorxian/Code/medUni/wt/zr/gen_joint/results_new/scratch_15k}" export DATASET_ROOT="${DATASET_ROOT:-/apdcephfs_zwfy2/share_303944931/connorxian/Code/medUni/wt/zr/dataset}" export TRAIN_JSONL="${TRAIN_JSONL:-/apdcephfs_zwfy2/share_303944931/connorxian/Code/medUni/wt/zr/dataset/anno/cxr_synth_anno_mask_train.jsonl}" export TEST_JSONL="${TEST_JSONL:-/apdcephfs_zwfy2/share_303944931/connorxian/Code/medUni/wt/zr/dataset/anno/cxr_synth_anno_mask_test.jsonl}" export DATASET_PATH_REMAP_FROM="${DATASET_PATH_REMAP_FROM:-/home/wenting/dataset/LIDC_IDRI}" export DATASET_PATH_REMAP_TO="${DATASET_PATH_REMAP_TO:-$DATASET_ROOT}" export MIRP_REPO_ROOT="${MIRP_REPO_ROOT:-/apdcephfs_zwfy2/share_303944931/connorxian/Code/medUni/wt/zr/mirp}" export EVAL_LORA_PATH="${EVAL_LORA_PATH:-}" export OUTPUT_DIR="${OUTPUT_DIR:-outputs/img_only_scratch30k/eval_${TIMESTAMP}}" export NUM_STEPS="${NUM_STEPS:-10}" export EVAL_NUM_STEPS="${EVAL_NUM_STEPS:-50}" export NOISE_LEVEL="${NOISE_LEVEL:-0.0}" export SDE_TYPE="${SDE_TYPE:-cps}" export GUIDANCE_SCALE="${GUIDANCE_SCALE:-2.5}" export IMG_GUIDANCE_SCALE="${IMG_GUIDANCE_SCALE:-2.0}" export TRAIN_BATCH_SIZE="${TRAIN_BATCH_SIZE:-32}" export TEST_BATCH_SIZE="${TEST_BATCH_SIZE:-32}" export NUM_PROCESSES="${NUM_PROCESSES:-4}" export MAIN_PROCESS_PORT="${MAIN_PROCESS_PORT:-29501}" export PYTORCH_CUDA_ALLOC_CONF="${PYTORCH_CUDA_ALLOC_CONF:-expandable_segments:True}" export HF_HOME="${HF_HOME:-/apdcephfs_zwfy2/share_303944931/connorxian/Code/medUni/wt/zr/.cache/huggingface}" export HF_HUB_CACHE="${HF_HUB_CACHE:-/apdcephfs_zwfy2/share_303944931/connorxian/Code/medUni/wt/zr/.cache/huggingface/hub}" export CUDA_VISIBLE_DEVICES="${CUDA_VISIBLE_DEVICES:-0,1,2,3}" export WANDB_MODE="${WANDB_MODE:-disabled}" export WANDB_PROJECT="${WANDB_PROJECT:-flow_grpo_img_only_scratch30k}" export WANDB_GROUP="${WANDB_GROUP:-manual_img_only_eval}" export WANDB_NAME="${WANDB_NAME:-${EXP_NAME:-img-only-scratch30k-eval}-${TIMESTAMP}}" export WANDB_TAGS="${WANDB_TAGS:-img-only,scratch30k,eval}" export REWARD_MASK_CHANNELS="${REWARD_MASK_CHANNELS:-0,1}" export PYTHONPATH="$PROJECT_ROOT:$OMNIGEN_CODE_ROOT:${PYTHONPATH:-}" mkdir -p "$OUTPUT_DIR" "$HF_HUB_CACHE" LAUNCH_CONFIG="$OUTPUT_DIR/launch_config.txt" { echo "timestamp=${TIMESTAMP}" echo "repo_path=${PROJECT_ROOT}" echo "config_entry=${CONFIG_ENTRY}" echo "server_profile=${SERVER_PROFILE:-}" echo "omnigen_code_root=${OMNIGEN_CODE_ROOT}" echo "sft_lora_path=${SFT_LORA_PATH}" echo "dataset_root=${DATASET_ROOT}" echo "train_jsonl=${TRAIN_JSONL}" echo "test_jsonl=${TEST_JSONL}" echo "dataset_path_remap_from=${DATASET_PATH_REMAP_FROM}" echo "dataset_path_remap_to=${DATASET_PATH_REMAP_TO}" echo "mirp_repo_root=${MIRP_REPO_ROOT}" echo "eval_lora_path=${EVAL_LORA_PATH}" echo "output_dir=${OUTPUT_DIR}" echo "eval_num_steps=${EVAL_NUM_STEPS}" echo "noise_level=${NOISE_LEVEL}" echo "sde_type=${SDE_TYPE}" echo "reward_mask_channels=${REWARD_MASK_CHANNELS}" echo "num_processes=${NUM_PROCESSES}" echo "wandb_project=${WANDB_PROJECT}" echo "wandb_group=${WANDB_GROUP}" echo "wandb_name=${WANDB_NAME}" echo "wandb_tags=${WANDB_TAGS}" echo "wandb_mode=${WANDB_MODE}" } | tee "$LAUNCH_CONFIG" CMD=(python3 -m accelerate.commands.launch --config_file scripts/accelerate_configs/multi_gpu.yaml --num_processes="$NUM_PROCESSES" --main_process_port "$MAIN_PROCESS_PORT" scripts/eval_omnigen.py --config "$CONFIG_ENTRY" --resume_dir "$OUTPUT_DIR") if [[ -n "$EVAL_LORA_PATH" ]]; then CMD+=(--eval_lora_path "$EVAL_LORA_PATH") fi if [[ -n "${MAX_SAMPLES:-}" ]]; then CMD+=(--max_samples "$MAX_SAMPLES") fi "${CMD[@]}"