CoolFace
Modelpublic

abalhomaid/disaster-uda-models

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes
Model Card

UDA Disaster Damage Assessment - Model Weights

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.

Models Included

ModelCountDescription
ResNet50 (source-only)12State dict files for all 12 source-target domain pairs
CDAN3612 tasks x 3 seeds (SWD=0)
CORAL3612 tasks x 3 seeds (SWD=0)
MMD3612 tasks x 3 seeds (SWD=0)
DANN3612 tasks x 3 seeds (SWD=0)
AWDAN (best)3612 tasks x 3 seeds (best SWD config per task, selected by max F1)
Total192 files~19.8 GB

Domains

DomainCodeEventImages
Ecuador EarthquakeE20161,724
Nepal EarthquakeN201519,102
Hurricane MatthewM2016333
Typhoon RubyR2014833

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}.

Download

bash
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.

File Structure

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.

Usage

Clone the reproduction repository and download the weights:

bash
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.

Expected Results (Table 5 Averages)

ModelAccuracyPrecisionRecallF1
Source-only75.284.170.075.6
CDAN81.083.683.183.2
CORAL79.582.281.781.8
MMD81.183.883.083.2
DANN80.683.981.982.7
AWDAN81.983.985.084.2

Architecture

All models use ResNet50 backbone with 2-class output (damage / no damage), input size 224x224.

  • —Source-only: Standard ResNet50 fine-tuned on source domain only
  • —DANN/CDAN: ResNet50 + domain discriminator (adversarial DA)
  • —CORAL/MMD: ResNet50 + divergence minimization (domain generalization)
  • —AWDAN: DANN + Sliced Wasserstein Distance regularization in label space