birdclef2026-model / README.md
jingxizhang's picture
Upload README.md with huggingface_hub
f0aa662 verified
|
Raw
History Blame Contribute Delete
1.46 kB
metadata
license: cc-by-4.0
tags:
  - audio
  - bird-sound
  - wildlife
  - bioacoustics
  - multi-label-classification
  - birdclef

BirdCLEF+ 2026 — ECA-NFNet-L0 Wildlife Classifier

Fine-tuned ECA-NFNet-L0 for multi-label wildlife species identification from soundscape recordings in Brazil's Pantanal wetlands.

Model Details

  • Architecture: ECA-NFNet-L0 (22.4M parameters), pretrained on ImageNet
  • Task: Multi-label classification — 234 wildlife species
  • Input: Log-mel spectrogram (128 bins, 32 kHz, 5-second windows, 128x128 px)
  • Output: Sigmoid scores per species per 5-second window
  • Val AUC: 0.9603 | Kaggle Public AUC: 0.865 (Rank 38/500)
  • Training: 34 epochs, Focal-BCE loss, EMA decay=0.9997, Mixup + SpecAugment

Live Demo

Try the interactive demo: jingxizhang/birdclef2026-demo

Usage

import torch, timm
from huggingface_hub import hf_hub_download

path = hf_hub_download(repo_id="jingxizhang/birdclef2026-model", filename="best_model.pth")
ckpt = torch.load(path, map_location="cpu", weights_only=False)
model = timm.create_model(
    ckpt["cfg"]["model_name"], pretrained=False,
    num_classes=len(ckpt["species_list"])
)
model.load_state_dict(ckpt["model_state_dict"])
model.eval()
print("Species:", ckpt["species_list"][:5])

Competition

BirdCLEF+ 2026 on Kaggle