Downloads · 30 days
0
SirComat/triple-tikitaka
triple-tikitaka is a audio classification model from SirComat. Use it for the audio classification task on the model card, and read the license before you ship it in a product. It is set up for timm. The card lists the license as cc-by-nc-sa-4.0.
An EfficientNet B0 model trained to classify birds, amphibians, mammals, and insects from 5-second audio chunks, using the BirdCLEF+ 2025 Kaggle competition dataset (recordings from the Middle Magdalena Valley, Colomb…
Downloads · 30 days
0
Access
Public
Updated Jul 22, 2026
Repo size
51.7 MB
Likes
0
Public
Click a slice to open those files.
.pth51.7 MB · 100%
From the Hugging Face model README
An EfficientNet B0 model trained to classify birds, amphibians, mammals, and insects from 5-second audio chunks, using the BirdCLEF+ 2025 Kaggle competition dataset (recordings from the Middle Magdalena Valley, Colombia).
Full inference pipeline, FastAPI serving app, and an LLM-powered plausibility-checking agent live in the companion GitHub repo: BarnaP02/Triple_Tikitaka.
Evaluated on a held-out split (test_manifest.csv), 205 species:
| Metric | Accuracy |
|---|---|
| Top-1 | 87.84% |
| Top-3 | 93.47% |
| Top-5 | 95.06% |
timm.create_model("efficientnet_b0", pretrained=True, num_classes=205), 3-channel input satisfied by repeating a single-channel mel spectrogram 3×.n_fft=1024, hop_length=320, n_mels=128, f_min=50, f_max=16000) → dB scale → min-max normalized to [0, 1].BCEWithLogitsLoss (multi-label formulation). Optimizer: AdamW + CosineAnnealingLR. Early stopping patience 7.best_model.pth is a raw PyTorch checkpoint dict, not a state_dict alone:
{
"epoch": int,
"model_state": state_dict,
"optimizer_state": ...,
"scheduler_state": ...,
"val_loss": float,
"label2idx": dict, # species code -> class index, required for inference
"mlflow_run_id": str,
}
import torch
import timm
checkpoint = torch.load("best_model.pth", map_location="cpu", weights_only=False)
label2idx = checkpoint["label2idx"]
idx2label = {v: k for k, v in label2idx.items()}
model = timm.create_model("efficientnet_b0", pretrained=False, num_classes=len(label2idx), in_chans=3)
model.load_state_dict(checkpoint["model_state"])
model.eval()
See the GitHub repo for the full mel spectrogram preprocessing pipeline and a ready-to-run FastAPI inference server.
Trained on the BirdCLEF+ 2025 dataset, licensed CC BY-NC-SA 4.0. As a derivative work of that data, this model is released under the same license — non-commercial use only, with attribution, and any redistribution of derivative models must use a compatible license.
Attribution: BirdCLEF+ 2025 (LifeCLEF / Xeno-canto contributors).