| # Inference for ct_binary_coronary_segmentation | |
| # | |
| # Usage: | |
| # ./scripts/inference.sh # Ensemble on default data | |
| # ./scripts/inference.sh --dataset-dir /path/to/images # Ensemble on custom data | |
| # ./scripts/inference.sh --single --fold 0 # Single model | |
| # ./scripts/inference.sh --output-dir /path/to/output # Custom output | |
| # ./scripts/inference.sh --gpu 1 # Use specific GPU | |
| set -euo pipefail | |
| cd "$(dirname "$0")/.." | |
| ENSEMBLE=true | |
| GPU=0 | |
| EXTRA_ARGS=() | |
| while [[ $# -gt 0 ]]; do | |
| case $1 in | |
| --single) ENSEMBLE=false; shift ;; | |
| --dataset-dir) EXTRA_ARGS+=("--dataset_dir" "$2"); shift 2 ;; | |
| --output-dir) EXTRA_ARGS+=("--output_dir" "$2"); shift 2 ;; | |
| --fold) EXTRA_ARGS+=("--fold" "$2"); shift 2 ;; | |
| --gpu) GPU="$2"; shift 2 ;; | |
| *) EXTRA_ARGS+=("$1"); shift ;; | |
| esac | |
| done | |
| if $ENSEMBLE; then | |
| CONFIG="configs/ensemble_inference.yaml" | |
| else | |
| CONFIG="configs/inference.yaml" | |
| fi | |
| echo "=== Running inference ($(if $ENSEMBLE; then echo 'ensemble'; else echo 'single model'; fi)) on GPU $GPU ===" | |
| CUDA_VISIBLE_DEVICES=$GPU micromamba run -n monai python -m monai.bundle run inference \ | |
| --config_file "$CONFIG" \ | |
| "${EXTRA_ARGS[@]+"${EXTRA_ARGS[@]}"}" | |