GenSeg-Baselines / code /scripts /a100_nnum_eval512.sh
MaybeRichard's picture
code: complete eval pipeline (7 metrics + per-class + Wilcoxon) + Swin-UNet/TransUNet networks; remove backups/obsolete
1a18f22 verified
Raw
History Blame Contribute Delete
2.07 kB
#!/usr/bin/env bash
# nnU-Net + U-Mamba @512 re-eval on a100 (CPU-only, does NOT touch GPUs).
# Re-scores cached predTs/predTs_umamba at eval_size 512 into results/unified512/
# so they join the unified-512 table. ~64 cells, parallel (concurrency MAXJ).
set -u
cd /home/wzhang/LSC/Code/NPJ
source /opt/anaconda3/etc/profile.d/conda.sh
conda activate seggen
export OMP_NUM_THREADS=4 MKL_NUM_THREADS=4 OPENBLAS_NUM_THREADS=4 NUMEXPR_NUM_THREADS=4
DR=/home/wzhang/LSC/Dataset/Segmentation/processed_unified
RAW=/home/wzhang/LSC/Code/NPJ/nnunet_workspace/raw
PRED_NN=/home/wzhang/LSC/Code/NPJ/nnunet_workspace/predTs
PRED_UM=/home/wzhang/LSC/Code/NPJ/nnunet_workspace/predTs_umamba
MAXJ=10
declare -A DS=(
[1]=cvc_clinicdb:official [2]=kvasir_seg:official [3]=fives:official
[4]=refuge2:official [5]=busi:fold01 [6]=idridd_segmentation:fold01
[7]=acdc_png:official [8]=pannuke_semantic:fold01 [9]=medsegdb_isic2018:holdout
[10]=medsegdb_kits19:fold01 [11]=pannuke_semantic:fold02 [12]=pannuke_semantic:fold03
)
run=0
for id in 1 2 3 4 5 6 7 8 9 10 11 12; do
IFS=: read -r ds proto <<< "${DS[$id]}"
for f in 0 1 2; do
for ap in "nnunet:$PRED_NN" "umamba:$PRED_UM"; do
arch=${ap%%:*}; pred=${ap#*:}
outdir=$pred/d${id}_f${f}
[ -d "$outdir" ] && ls -A "$outdir"/*.png >/dev/null 2>&1 || continue
(
python framework/nnunet_eval.py --data_root "$DR" --dataset "$ds" --protocol "$proto" \
--raw "$RAW" --dataset_id "$id" --fold "$f" --pred_dir "$outdir" --arch "$arch" \
--exp_name unified512 --eval_size 512 \
> /tmp/nnum512_${arch}_d${id}_f${f}.log 2>&1 \
&& echo "[ok] $arch d${id}_f${f} ($ds $proto)" \
|| echo "[FAIL] $arch d${id}_f${f} ($ds $proto)"
) &
run=$((run+1))
if [ "$run" -ge "$MAXJ" ]; then wait -n; run=$((run-1)); fi
done
done
done
wait
echo "NNUM_EVAL512_DONE"
n=$(find results/unified512 -path '*/nnunet/*/metrics.json' -o -path '*/umamba/*/metrics.json' 2>/dev/null | wc -l)
echo "unified512 nnunet+umamba metrics.json count: $n"