File size: 1,046 Bytes
62785f9
 
 
 
3190965
62785f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3190965
62785f9
3190965
62785f9
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
# Train ct_binary_coronary_segmentation
#
# Usage:
#   ./scripts/train.sh                        # Train fold 0
#   ./scripts/train.sh --fold 2               # Train specific fold
#   ./scripts/train.sh --all-folds            # Train all 5 folds sequentially
#   ./scripts/train.sh --gpu 1                # Use specific GPU

set -euo pipefail
cd "$(dirname "$0")/.."

FOLD=0
ALL_FOLDS=false
GPU=0
EXTRA_ARGS=()

while [[ $# -gt 0 ]]; do
    case $1 in
        --fold) FOLD="$2"; shift 2 ;;
        --all-folds) ALL_FOLDS=true; shift ;;
        --gpu) GPU="$2"; shift 2 ;;
        *) EXTRA_ARGS+=("$1"); shift ;;
    esac
done

run_fold() {
    local fold=$1
    echo "=== Training fold $fold on GPU $GPU ==="
    CUDA_VISIBLE_DEVICES=$GPU micromamba run -n monai python -m monai.bundle run training \
        --config_file configs/train.yaml \
        --cv_fold "$fold" \
        "${EXTRA_ARGS[@]+"${EXTRA_ARGS[@]}"}"
}

if $ALL_FOLDS; then
    for fold in 0 1 2 3 4; do
        run_fold "$fold"
    done
else
    run_fold "$FOLD"
fi