#!/bin/bash # Phase 2b — retrain failed DINOv2 + RETFound and re-run Phase 3 ensemble. set -e cd ~/fundus_project source ~/.venv/bin/activate echo "=== Phase 2b: DINOv2 + RETFound (fixed) ===" python comparison_experiment/run_foundation_models.py \ --manifest holdout_split_augmented.json \ --out-dir final_experiments_v3 \ --weights-dir weights_v3 \ --retfound-weights weights_retfound.pth \ --models dinov2_l retfound \ --batch-size 24 \ --workers 4 \ --lp-epochs 20 \ --ft-epochs 15 \ --patience 8 echo "=== Phase 3: ensemble all models ===" mkdir -p final_experiments_all cp final_experiments_v2/*_test_preds.json final_experiments_all/ 2>/dev/null || true cp final_experiments_v2/*_test.json final_experiments_all/ 2>/dev/null || true cp final_experiments_v3/*_test_preds.json final_experiments_all/ 2>/dev/null || true cp final_experiments_v3/*_test.json final_experiments_all/ 2>/dev/null || true python comparison_experiment/ensemble_and_stats.py \ --results-dir final_experiments_all \ --out final_experiments_all/ensemble_report.json echo "=== Done. Final outputs: ===" ls -la final_experiments_all/