| #!/usr/bin/env bash |
| |
| |
| |
| |
| |
| |
| set -u |
| R="${OPENPATH_ROOT:-$(cd "$(dirname "$0")/.." && pwd)}" |
| cd "$R" |
| export PYTHONPATH="$R/OpenPath:$R/eval" |
| export CUDA_VISIBLE_DEVICES="${GPU:-0}" |
| export N_RUNS="${N_RUNS:-5}" |
| export ACCELERATOR=gpu NUM_DEVICES=1 OPENPATH_WEIGHTS="${3:-none}" |
| export PREDICT_BATCH_SIZE="${PREDICT_BATCH_SIZE:-512}" BATCH_SIZE="${BATCH_SIZE:-4096}" N_DATA_WORKERS="${N_DATA_WORKERS:-8}" |
| model="$1"; bench="$2" |
|
|
| case "$model" in |
| openpath) export BACKBONE_FN=openpath_eva_backbone.build_openpath IN_FEATURES=1536 ;; |
| openmidnight) export BACKBONE_FN=openpath_eva_backbone.build_openmidnight IN_FEATURES=1536 ;; |
| phikon) export BACKBONE_FN=openpath_eva_backbone.build_phikon IN_FEATURES=1024 ;; |
| uni) export BACKBONE_FN=openpath_eva_backbone.build_uni IN_FEATURES=1024 ;; |
| uni2) export BACKBONE_FN=openpath_eva_backbone.build_uni2 IN_FEATURES=1536 ;; |
| gigapath) export BACKBONE_FN=openpath_eva_backbone.build_gigapath IN_FEATURES=1536 ;; |
| virchow2) export BACKBONE_FN=openpath_eva_backbone.build_virchow2 IN_FEATURES=1280 ;; |
| *) echo "unknown model $model (openpath|openmidnight|phikon|uni|uni2|gigapath|virchow2)"; exit 1 ;; |
| esac |
| export MODEL_NAME="${MODEL_NAME:-$model}" |
|
|
| case "$bench" in |
| pcam) cfg=eval/eva_configs/patch_camelyon.yaml; export DATA_ROOT="$R/data/eva/pcam_h5" DOWNLOAD_DATA="${DL:-true}" ;; |
| crc) cfg=eval/eva_configs/crc.yaml; export DATA_ROOT="$R/data/eva/crc" DOWNLOAD_DATA=false ;; |
| bach) cfg=eval/eva_configs/bach.yaml; export DATA_ROOT="$R/data/eva/bach" DOWNLOAD_DATA="${DL:-false}" ;; |
| *) echo "unknown bench $bench (pcam|crc|bach)"; exit 1 ;; |
| esac |
|
|
| |
| |
| evadir="$bench"; [ "$bench" = pcam ] && evadir=patch_camelyon |
| rm -rf "$R/data/embeddings/$MODEL_NAME/$evadir" 2>/dev/null |
|
|
| echo "=== EVAL $model × $bench | IN=$IN_FEATURES N_RUNS=$N_RUNS GPU=$CUDA_VISIBLE_DEVICES DATA_ROOT=$DATA_ROOT DL=$DOWNLOAD_DATA | $(date) ===" |
| eva predict_fit --config "$cfg" |
| echo "=== DONE $model × $bench | $(date) ===" |
|
|