abalhomaid/disaster-damage-assessment
Viewer • Updated • 22k • 235 • 1
Pre-trained model weights for reproducing the experiments in:
Unsupervised Domain Adaptation for Rapid Disaster Damage Assessment
These checkpoints reproduce Tables 1-6 in the paper.
| Model | Count | Description |
|---|---|---|
| ResNet50 (source-only) | 12 | State dict files for all 12 source-target domain pairs |
| CDAN | 36 | 12 tasks x 3 seeds (SWD=0) |
| CORAL | 36 | 12 tasks x 3 seeds (SWD=0) |
| MMD | 36 | 12 tasks x 3 seeds (SWD=0) |
| DANN | 36 | 12 tasks x 3 seeds (SWD=0) |
| AWDAN (best) | 36 | 12 tasks x 3 seeds (best SWD config per task, selected by max F1) |
| Total | 192 files | ~19.8 GB |
| Domain | Code | Event | Images |
|---|---|---|---|
| Ecuador Earthquake | E | 2016 | 1,724 |
| Nepal Earthquake | N | 2015 | 19,102 |
| Hurricane Matthew | M | 2016 | 333 |
| Typhoon Ruby | R | 2014 | 833 |
All 12 source-to-target combinations (E2M, E2N, E2R, M2E, M2N, M2R, N2E, N2M, N2R, R2E, R2M, R2N) are evaluated with seeds {2, 32, 128}.
pip install huggingface_hub
huggingface-cli download abalhomaid/disaster-uda-models --local-dir .
This places files into the correct directory structure expected by the evaluation scripts.
models/resnet50/c4/
{S}_{T}_model_epoch_best_statedict.pth # Source-only baseline (12 files)
train_jobs/cdan/logs/{model}/seed_{seed}/
Damage_{S}2{T}_SWD_{swd}_trade_offs_{to}/
checkpoints/best.pth # DA model checkpoint
Where {model} is one of: cdan, coral, mmd, dann.
Clone the reproduction repository and download the weights:
git clone https://github.com/abalhomaid/disaster-assesment.git
cd disaster-assesment
git checkout reproducibility
# Download model weights
huggingface-cli download abalhomaid/disaster-uda-models --local-dir .
# Set up evaluation environment
conda env create -f tllib_metric.yaml
conda activate tllib_metric
pip install -e .
# Evaluate a model (e.g., DANN E->M, seed=32)
PYTHONPATH="$PWD:$PWD/examples/domain_adaptation/image_classification" \
python examples/domain_adaptation/image_classification/dann.py \
data/damage -d Damage -s E -t M -a resnet50 --seed 32 --scratch \
--log train_jobs/cdan/logs/dann/seed_32/Damage_E2M_SWD_0_trade_offs_1 \
--phase test
See the repository README for full reproduction instructions.
| Model | Accuracy | Precision | Recall | F1 |
|---|---|---|---|---|
| Source-only | 75.2 | 84.1 | 70.0 | 75.6 |
| CDAN | 81.0 | 83.6 | 83.1 | 83.2 |
| CORAL | 79.5 | 82.2 | 81.7 | 81.8 |
| MMD | 81.1 | 83.8 | 83.0 | 83.2 |
| DANN | 80.6 | 83.9 | 81.9 | 82.7 |
| AWDAN | 81.9 | 83.9 | 85.0 | 84.2 |
All models use ResNet50 backbone with 2-class output (damage / no damage), input size 224x224.