Skip to content

Add BirdNET v3 training support - #1007

Open
Josef-Haupt wants to merge 5 commits into
mainfrom
3.0-training-support
Open

Josef-Haupt wants to merge 5 commits into
mainfrom
3.0-training-support

Conversation

@Josef-Haupt

Copy link
Copy Markdown
Member

Waiting on the next birdnet library release

@Josef-Haupt Josef-Haupt changed the title . Add BirdNET v3 training support Oct 12, 2026
@Josef-Haupt
Josef-Haupt marked this pull request as ready for review October 17, 2026 08:18
Copilot AI balanced review requested due to automatic review settings October 17, 2026 08:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Legacy training parameters can silently select the wrong base model, and older caches can display an incorrect version.

2 open issues
What changed in this PR

Adds BirdNET 3.0 training and export support while retaining 2.4 compatibility, alongside the dependency update needed for the new library APIs.

Changes:

  • Adds base-model selection and version-aware training caches, parameters, and exports.
  • Detects custom classifier versions and enables sensitivity for all BirdNET models.
  • Updates GUI translations, documentation, and tests.
File Description
tests/​train/​test_train.py Tests training version forwarding.
tests/​train/​test_train_loading.py Tests cache version compatibility.
tests/​train/​test_model.py Tests base-model metadata.
tests/​train/​test_export.py Adds export and inference checks.
tests/​test_params.py Tests training version parsing.
tests/​test_model_utils.py Tests classifier detection and sensitivity.
tests/​gui/​test_train_tab.py Tests base-model controls.
tests/​gui/​test_sensitivity_slider.py Updates sensitivity and classifier validation tests.
tests/​gui/​test_presets.py Tests legacy training presets.
tests/​gui/​test_download_progress.py Supplies the training version.
tests/​analyze/​test_analyze.py Adjusts model-selection assertions.
pyproject.toml Requires birdnet 1.3.0 or newer.
docs/​usage/​cli.rst Documents training model selection.
docs/​implementation-details/​sensitivity.rst Explains probability-model sensitivity.
docs/​breaking-changes.rst Documents the new training default.
docs/​best-practices/​training.rst Explains version-specific training and exports.
birdnet_analyzer/​train/​utils.py Makes training and caches version-aware.
birdnet_analyzer/​train/​custom_models.py Supports both SavedModel interfaces.
birdnet_analyzer/​train/​core.py Exposes the training version parameter.
birdnet_analyzer/​params.py Parses saved training versions.
birdnet_analyzer/​model.py Implements version-aware classifier exports.
birdnet_analyzer/​model_utils.py Detects classifier versions and adjusts inference.
birdnet_analyzer/​lang/​zh_TW.json Adds Traditional Chinese UI strings.
birdnet_analyzer/​lang/​zh_CN.json Adds Simplified Chinese UI strings.
birdnet_analyzer/​lang/​tlh.json Adds Klingon UI strings.
birdnet_analyzer/​lang/​se.json Adds Swedish UI strings.
birdnet_analyzer/​lang/​ru.json Adds Russian UI strings.
birdnet_analyzer/​lang/​pt-br.json Adds Brazilian Portuguese UI strings.
birdnet_analyzer/​lang/​id.json Adds Indonesian UI strings.
birdnet_analyzer/​lang/​fr.json Adds French UI strings.
birdnet_analyzer/​lang/​fi.json Adds Finnish UI strings.
birdnet_analyzer/​lang/​en.json Adds English UI strings.
birdnet_analyzer/​lang/​de.json Adds German UI strings.
birdnet_analyzer/​gui/​utils.py Updates model choices and classifier validation.
birdnet_analyzer/​gui/​train.py Adds base-model selection and cache display.
birdnet_analyzer/​gui/​presets.py Restores training versions from presets.
birdnet_analyzer/​gui/​analysis.py Clarifies classifier-version handling in comments.
birdnet_analyzer/​cli.py Adds training version selection and updates help.
birdnet_analyzer/​analyze/​core.py Updates sensitivity handling and documentation.

Review effort: Balanced

Comment thread birdnet_analyzer/gui/train.py Outdated
Comment thread birdnet_analyzer/params.py Outdated

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants