| #!/bin/bash |
| |
| |
| set -u |
| cd /home/wzhang/LSC/Code/NPJ |
| source /opt/anaconda3/etc/profile.d/conda.sh |
| conda activate nnunet |
| export CUDA_DEVICE_ORDER=PCI_BUS_ID |
| export nnUNet_raw=/home/wzhang/LSC/Code/NPJ/nnunet_workspace/raw |
| export nnUNet_preprocessed=/home/wzhang/LSC/Code/NPJ/nnunet_workspace/preprocessed |
| export nnUNet_results=/home/wzhang/LSC/Code/NPJ/nnunet_workspace/results_nnunet |
| DATA_ROOT=/home/wzhang/LSC/Dataset/Segmentation/processed_unified |
| PRED=/home/wzhang/LSC/Code/NPJ/nnunet_workspace/predTs |
|
|
| run_ds () { |
| local gpu=$1; shift |
| for spec in "$@"; do |
| IFS=: read -r id ds proto <<< "$spec" |
| dsname=$(printf "Dataset%03d_%s_%s" "$id" "$ds" "$proto") |
| for f in 0 1 2; do |
| outdir=$PRED/d${id}_f${f} |
| mkdir -p "$outdir" |
| echo "[predict] gpu=$gpu $dsname fold$f -> $outdir" |
| CUDA_VISIBLE_DEVICES=$gpu nnUNetv2_predict \ |
| -i "$nnUNet_raw/$dsname/imagesTs" -o "$outdir" \ |
| -d "$id" -c 2d -f "$f" -tr nnUNetTrainer_250epochs --disable_tta \ |
| > "$outdir/predict.log" 2>&1 |
| echo "[eval] $dsname fold$f" |
| python framework/nnunet_eval.py --data_root "$DATA_ROOT" \ |
| --dataset "$ds" --protocol "$proto" --raw "$nnUNet_raw" \ |
| --dataset_id "$id" --fold "$f" --pred_dir "$outdir" \ |
| --arch nnunet --exp_name baselines > "$outdir/eval.log" 2>&1 |
| tail -1 "$outdir/eval.log" |
| done |
| done |
| } |
|
|
| run_ds 4 "5:busi:fold01" "6:idridd_segmentation:fold01" "7:acdc_png:official" & |
| run_ds 5 "8:pannuke_semantic:fold01" "9:medsegdb_isic2018:holdout" "10:medsegdb_kits19:fold01" & |
| wait |
| echo ALL_NNUNET_PREDICT_EVAL_DONE |
|
|