From 1301931e0ba3b607691685ee17ac677ea2120469 Mon Sep 17 00:00:00 2001 From: Max Mauermann Date: Fri, 8 May 2026 15:35:42 +0200 Subject: [PATCH 1/3] fixed evaluation output path Co-authored-by: Copilot --- birdnet_analyzer/train/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/birdnet_analyzer/train/utils.py b/birdnet_analyzer/train/utils.py index 39d8d3436..737414b02 100644 --- a/birdnet_analyzer/train/utils.py +++ b/birdnet_analyzer/train/utils.py @@ -749,7 +749,7 @@ def generate_splits( if metrics: import csv - eval_file_path = os.path.join(output, "evaluation.csv") + eval_file_path = output + "_evaluation.csv" with open(eval_file_path, "w", newline="") as f: writer = csv.writer(f) From 19b325c3116956437add8b1b3aeb6b38e3983f56 Mon Sep 17 00:00:00 2001 From: Max Mauermann Date: Fri, 8 May 2026 16:38:40 +0200 Subject: [PATCH 2/3] fix for search --- birdnet_analyzer/search/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/birdnet_analyzer/search/utils.py b/birdnet_analyzer/search/utils.py index 35fce39ad..adadd04cd 100644 --- a/birdnet_analyzer/search/utils.py +++ b/birdnet_analyzer/search/utils.py @@ -145,7 +145,7 @@ def get_search_results( if use_ann: sorted_results = _search_ann_ip(db, embedding, n_results) else: - results, scores = brutalism.threaded_brute_search( + results = brutalism.threaded_brute_search( db, embedding, n_results, From 76c7a604a5f1440237f1b0e67d4180d53501773a Mon Sep 17 00:00:00 2001 From: Josef Haupt Date: Thu, 14 May 2026 12:07:45 -0400 Subject: [PATCH 3/3] set nr of workers to 1 for search to speedup process --- birdnet_analyzer/search/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/birdnet_analyzer/search/utils.py b/birdnet_analyzer/search/utils.py index adadd04cd..a31748f1b 100644 --- a/birdnet_analyzer/search/utils.py +++ b/birdnet_analyzer/search/utils.py @@ -86,7 +86,7 @@ def get_query_embedding( else: sig_splits = audio.split_signal(sig, rate, sig_length, crop_overlap, sig_minlen) - return model_utils.get_embeddings_array(sig_splits) + return model_utils.get_embeddings_array(sig_splits, n_workers=1) def get_search_results(