region:us
## Data

Extract `data.tar.zst`.

## Recipe

### Training

```
[f3_eff] model: F3Net (models_eff.py, in which efficientnet_v2_s (torchvision.models, DEFAULT) is used)
run 1 -> f3net_eff_96.9@swa.pth
run 2 -> f3net_eff_97.1@swa.pth
         * CONTINUED FROM f3net_eff_96.9@swa.pth

[effv2] model: efficientnet_v2_m (torchvision.models, DEFAULT)
run 1 -> effv2_97.2@59.pth
         * AND
         effv2_97.3@swa.pth

[caformer] model: caformer_b36 (timm, sail_in22k_ft_in1k)
run 1 -> caformer_97.7@59.pth
         * NOT FINISHED
run 2 -> caformer_97.8@1.pth
         * CONTINUED FROM caformer_97.7@59.pth
         * NOT FINISHED
```

### Validation

Use `ensemble.ipynb`.

## Performance

```
                                Training   Validation
[f3_eff]
  run 1 ->
    f3net_eff_96.9@swa.pth       94.0@80     96.9@swa
      - best epoch before swa    93.9@65     96.6@65
  run 2 ->
    f3net_eff_97.1@swa.pth       95.4@80     97.1@swa
      - best epoch before swa    95.3@65     97.2@39

[effv2]
  run 1 ->
    effv2_97.2@59.pth            95.0@59     97.2@59
    effv2_97.3@swa.pth           95.9@80     97.3@swa
      - best epoch before swa    95.6@65     97.2@59

[caformer]
  run 1 ->
    caformer_97.7@59.pth         96.9@59     97.7@59
  run 2 ->
    caformer_97.8@1.pth          97.1@1      97.8@1

[ensemble]                                   98.2
```