Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Transfer Learning for Avian Bioacoustics under Sparse Positive Labels

This repository contains the code for the BirdCLEF+ 2026 transfer-learning experiments. We started with target-only priors and acoustic baselines, added pretrained audio embeddings and co-occurrence structure, then tested positive-only transfer from BirdCLEF 2021, iNatSounds, WABAD, and BirdSet PER and NES. We then added source-aware positive-unlabeled score refinement.

Setup

Create an environment and install the Python dependencies:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Some audio feature scripts call command-line tools such as ffmpeg/ffprobe. Install them separately if you plan to rerun feature extraction from audio.

Data Placement

The scripts assume paths relative to the repository root:

  • birdclef-2026/: BirdCLEF+ 2026 competition data, including taxonomy.csv, sample_submission.csv, train_soundscapes_labels.csv, train_audio/, and soundscape folders.
  • external_data/birdclef_2021/extracted/: BirdCLEF 2021 metadata and audio.
  • external_data/inatsounds_2024/: iNatSounds overlap metadata/audio.
  • external_data/wabad/: WABAD metadata, archives, and processed windows.
  • external_data/birdset_amazon_basin/: BirdSet PER subset.
  • external_data/birdset_nes/: BirdSet NES subset.

Running the Experiments

The scripts are organized by the order in which the experiments expanded:

  1. prepare_target: build compact BirdCLEF+ 2026 target tables and EDA.
  2. target_baselines: run priors, interpretable acoustic baselines, pretrained embeddings, fusion, co-occurrence, and temporal baselines.
  3. external_audits: prepare overlap and external-source metadata.
  4. transfer: run positive-only transfer experiments from each external source.
  5. mitigation: run source weighting, source selection, source-aware refinement, and uncertainty checks. Run individual scripts directly when you want tighter control over arguments such as batch size:
python scripts/run_birdclef2021_ast_transfer_experiment.py --batch-size 8
python scripts/run_wabad_ast_positive_transfer.py --batch-size 8
python scripts/run_source_aware_sequence_and_uncertainty.py

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages