|
|
#!/usr/bin/env bash |
|
|
set -euo pipefail |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export CUDA_VISIBLE_DEVICES="4,5,6,1,3,2" |
|
|
export NPROC_PER_NODE=6 |
|
|
|
|
|
|
|
|
DATASET_DIR="/data/qingq/PathVLM/baselines/github/SlideChat/dataset/stage_2_vqa_by_tumor/stage2_vqa_tumor_" |
|
|
SCRIPT_DIR="configs/slidechat/experiments_fusion_compressor" |
|
|
DEEPSPEED_CONFIG="configs/deepspeed/deepspeed_zero2.json" |
|
|
OUTPUT_BASE="/data/qingq/PathVLM/baselines/github/SlideChat/models/outputs" |
|
|
|
|
|
|
|
|
WORKDIR_SUFFIX="original_2048maxlength_fusion_compressor" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for json_path in "${DATASET_DIR}"/*.json; do |
|
|
|
|
|
tumor="$(basename "${json_path}" .json)" |
|
|
tumor_lc="$(echo "${tumor}" | tr '[:upper:]' '[:lower:]')" |
|
|
|
|
|
cfg="${SCRIPT_DIR}/stage_2_fusion_compressor_${tumor_lc}.py" |
|
|
workdir="${OUTPUT_BASE}/${tumor_lc}_${WORKDIR_SUFFIX}" |
|
|
|
|
|
if [[ ! -f "${cfg}" ]]; then |
|
|
echo "β οΈ Config not found for ${tumor_lc}, skipping: ${cfg}" |
|
|
continue |
|
|
fi |
|
|
|
|
|
echo "π Starting SFT on ${tumor_lc}" |
|
|
xtuner train \ |
|
|
"${cfg}" \ |
|
|
--deepspeed "${DEEPSPEED_CONFIG}" \ |
|
|
--work-dir "${workdir}" \ |
|
|
--local_rank 0 |
|
|
|
|
|
echo "β
Finished ${tumor_lc}" |
|
|
echo |
|
|
done |
|
|
|
|
|
echo "π All jobs submitted." |