diff --git a/birdnet_analyzer/analyze/core.py b/birdnet_analyzer/analyze/core.py index 289c0eae2..82374db68 100644 --- a/birdnet_analyzer/analyze/core.py +++ b/birdnet_analyzer/analyze/core.py @@ -160,13 +160,10 @@ def analyze( output = audio_input if split_tables: - output: Path = ( - audio_input_path.parent if audio_input_path.is_file() else audio_input_path - ) _split_tables( df, audio_input_path, - output, + Path(output), fmin, fmax, predictions, @@ -181,53 +178,53 @@ def analyze( sensitivity, species_list_file, ) + else: + if "table" in rtypes: + save_as_rtable( + df, + fmin, + fmax, + predictions.model_fmin, + predictions.model_fmax, + audio_speed, + Path(output) / cfg.OUTPUT_RAVEN_FILENAME, + ) - if "table" in rtypes: - save_as_rtable( - df, - fmin, - fmax, - predictions.model_fmin, - predictions.model_fmax, - audio_speed, - Path(output) / cfg.OUTPUT_RAVEN_FILENAME, - ) - - if "csv" in rtypes: - save_as_csv( - df, - Path(output) / cfg.OUTPUT_CSV_FILENAME, - additional_columns, - lat=lat, - lon=lon, - week=week, - overlap=overlap, - min_conf=min_conf, - sensitivity=sensitivity, - species_list_file=species_list_file, - model_path=predictions.model_path, - ) + if "csv" in rtypes: + save_as_csv( + df, + Path(output) / cfg.OUTPUT_CSV_FILENAME, + additional_columns, + lat=lat, + lon=lon, + week=week, + overlap=overlap, + min_conf=min_conf, + sensitivity=sensitivity, + species_list_file=species_list_file, + model_path=predictions.model_path, + ) - if "kaleidoscope" in rtypes: - save_as_kaleidoscope(df, Path(output) / cfg.OUTPUT_KALEIDOSCOPE_FILENAME) + if "kaleidoscope" in rtypes: + save_as_kaleidoscope(df, Path(output) / cfg.OUTPUT_KALEIDOSCOPE_FILENAME) - if "audacity" in rtypes: - save_as_audacity(df, Path(output) / cfg.OUTPUT_AUDACITY_FILENAME) + if "audacity" in rtypes: + save_as_audacity(df, Path(output) / cfg.OUTPUT_AUDACITY_FILENAME) - if "parquet" in rtypes: - save_as_parquet( - df, - Path(output) / cfg.OUTPUT_PARQUET_FILENAME, - additional_columns, - lat=lat, - lon=lon, - week=week, - overlap=overlap, - min_conf=min_conf, - sensitivity=sensitivity, - species_list_file=species_list_file, - model_path=predictions.model_path, - ) + if "parquet" in rtypes: + save_as_parquet( + df, + Path(output) / cfg.OUTPUT_PARQUET_FILENAME, + additional_columns, + lat=lat, + lon=lon, + week=week, + overlap=overlap, + min_conf=min_conf, + sensitivity=sensitivity, + species_list_file=species_list_file, + model_path=predictions.model_path, + ) if save_params: save_params_to_file( @@ -355,6 +352,21 @@ def _split_tables( df_file, output / (file_shorthand + ".BirdNET.results.txt") ) + if "parquet" in rtypes: + save_as_parquet( + df_file, + output / (file_shorthand + ".BirdNET.results.parquet"), + additional_columns, + lat=lat, + lon=lon, + week=week, + overlap=overlap, + min_conf=min_conf, + sensitivity=sensitivity, + species_list_file=species_list_file, + model_path=predictions.model_path, + ) + def _merge_consecutive_segments( df: pd.DataFrame, merge_consecutive: int, hop_size: float = 3.0 diff --git a/birdnet_analyzer/gui/analysis.py b/birdnet_analyzer/gui/analysis.py index 2aa19cef2..bdca21c49 100644 --- a/birdnet_analyzer/gui/analysis.py +++ b/birdnet_analyzer/gui/analysis.py @@ -64,6 +64,7 @@ def run_analysis( n_producers, n_workers, progress: gr.Progress | None, + split_tables: bool = False, ): """Starts the analysis. @@ -94,6 +95,7 @@ def run_analysis( n_workers: The number of worker threads to be used. input_dir: The input directory. progress: The gradio progress bar. + split_tables: Whether to split the output into separate tables per input file. """ import birdnet_analyzer.gui.localization as loc from birdnet_analyzer.analyze import analyze @@ -154,5 +156,6 @@ def run_analysis( save_params=save_params, n_producers=n_producers, n_workers=n_workers, + split_tables=split_tables, _return_only=bool(input_path), # only for single file tab ) diff --git a/birdnet_analyzer/gui/multi_file.py b/birdnet_analyzer/gui/multi_file.py index 10622a0c6..92ffbb130 100644 --- a/birdnet_analyzer/gui/multi_file.py +++ b/birdnet_analyzer/gui/multi_file.py @@ -50,6 +50,7 @@ def run_batch_analysis( custom_classifier_file, output_type, additional_columns, + split_tables_checkbox, locale, batch_size, producers_number, @@ -91,6 +92,7 @@ def run_batch_analysis( progress=progress, n_producers=producers_number, n_workers=workers_number, + split_tables=split_tables_checkbox, ) skipped_files = [results.inputs[ui] for ui in results.unprocessable_inputs] header = ( @@ -219,6 +221,11 @@ def select_directory_wrapper(): label=loc.localize("multi-tab-additional-columns-checkbox-label"), info=loc.localize("multi-tab-additional-columns-checkbox-info"), ) + split_tables_checkbox = gr.Checkbox( + False, + label=loc.localize("multi-tab-split-table-checkbox-label"), + info=loc.localize("multi-tab-split-table-checkbox-info"), + ) bs_number, producers_number, workers_number = gu.computing_settings() start_batch_analysis_btn = gr.Button( @@ -247,6 +254,7 @@ def select_directory_wrapper(): model_settings["selected_classifier_state"], output_type_radio, additional_columns_, + split_tables_checkbox, model_settings["locale_dropdown"], bs_number, producers_number, diff --git a/birdnet_analyzer/lang/de.json b/birdnet_analyzer/lang/de.json index 08ce880f1..5deba85e7 100644 --- a/birdnet_analyzer/lang/de.json +++ b/birdnet_analyzer/lang/de.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "Länge", "multi-tab-samples-dataframe-column-subpath-header": "Unterpfad", "multi-tab-samples-dataframe-no-files-found": "Keine Dateien gefunden", + "multi-tab-split-table-checkbox-info": "Wenn aktiviert, wird für jede Eingabedatei eine separate Ergebnistabelle erstellt. Andernfalls werden alle Ergebnisse in einer einzigen Tabelle zusammengefasst.", + "multi-tab-split-table-checkbox-label": "Tabellen pro Eingabedatei aufteilen", "multi-tab-title": "Batch-Analyse", "progress-analyzing": "Analysiere", "progress-autotune": "Autotune läuft", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "Das Mindestverhältnis für eine Minderheitenklasse im Vergleich zur Mehrheitsklasse nach dem Upsampling.", "training-tab-upsampling-ratio-slider-label": "Upsampling-Verhältnis", - "training-tab-warning-detached-classifier-append": "Der \"Anhängen\"-Modus wird für den abgekoppelten Klassifikator nicht angewendet.", "training-tab-use-focal-loss-checkbox-info": "Verwendet Focal Loss während des Trainings. Dies gibt schwierigen Beispielen mehr Gewicht und hilft, Klassenungleichgewichte zu bewältigen.", "training-tab-use-focal-loss-checkbox-label": "Focal Loss verwenden", "training-tab-use-labelsmoothing-checkbox-info": "Wendet Label Smoothing während des Trainings an. Dies kann die Generalisierung des Modells verbessern, indem es verhindert, dass das Modell zu selbstsicher wird.", "training-tab-use-labelsmoothing-checkbox-label": "Label Smoothing verwenden", "training-tab-use-mixup-checkbox-info": "Mixup ist eine Technik zur Datenvermehrung, die neue Daten durch Mischen zweier Beispiele und ihrer Label erzeugt.", "training-tab-use-mixup-checkbox-label": "Mixup verwenden", + "training-tab-warning-detached-classifier-append": "Der \"Anhängen\"-Modus wird für den abgekoppelten Klassifikator nicht angewendet.", "validation-max-confidence-lower-than-min-confidence": "Maximaler Konfidenz-Schwellwert muss größer sein als der minimale Schwellwert.", "validation-no-audio-directory-selected": "Kein Audioverzeichnis ausgewählt", "validation-no-cache-file-selected": "Bitte wählen Sie eine Cache-Datei aus.", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "Bitte geben Sie eine gültige Anzahl von Epochen an.", "validation-no-valid-frequency": "Bitte geben Sie eine gültige Frequenz an", "validation-no-valid-learning-rate": "Bitte geben Sie eine gültige Lernrate an." -} +} \ No newline at end of file diff --git a/birdnet_analyzer/lang/en.json b/birdnet_analyzer/lang/en.json index 3fa95b7ac..62f5e4a88 100644 --- a/birdnet_analyzer/lang/en.json +++ b/birdnet_analyzer/lang/en.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "Length", "multi-tab-samples-dataframe-column-subpath-header": "Subpath", "multi-tab-samples-dataframe-no-files-found": "No files found", + "multi-tab-split-table-checkbox-info": "When enabled, a separate result table is created for each input file. Otherwise, all results are combined into a single table.", + "multi-tab-split-table-checkbox-label": "Split tables by input file", "multi-tab-title": "Batch analysis", "progress-analyzing": "Analyzing", "progress-autotune": "Autotune in progress", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "The minimum ratio for a minority class compared to the majority class after upsampling.", "training-tab-upsampling-ratio-slider-label": "Upsampling ratio", - "training-tab-warning-detached-classifier-append": "Append mode will not apply to the detached classifier.", "training-tab-use-focal-loss-checkbox-info": "Uses focal loss during training. This gives more weight to hard examples and helps handle class imbalance.", "training-tab-use-focal-loss-checkbox-label": "Use focal loss", "training-tab-use-labelsmoothing-checkbox-info": "Applies label smoothing during training. This can help improve model generalization by preventing the model from becoming too confident.", "training-tab-use-labelsmoothing-checkbox-label": "Use label smoothing", "training-tab-use-mixup-checkbox-info": "Applies mixup augmentation during training. This can help improve model generalization by creating new training samples through linear interpolation.", "training-tab-use-mixup-checkbox-label": "Use mixup", + "training-tab-warning-detached-classifier-append": "Append mode will not apply to the detached classifier.", "validation-max-confidence-lower-than-min-confidence": "Maximum confidence must be greater than minimum confidence", "validation-no-audio-directory-selected": "No audio directory selected", "validation-no-cache-file-selected": "Please select a cache file.", diff --git a/birdnet_analyzer/lang/fi.json b/birdnet_analyzer/lang/fi.json index 7080400e1..1c36442b5 100644 --- a/birdnet_analyzer/lang/fi.json +++ b/birdnet_analyzer/lang/fi.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "Pituus", "multi-tab-samples-dataframe-column-subpath-header": "Alihakemisto", "multi-tab-samples-dataframe-no-files-found": "Tiedostoja ei löytynyt", + "multi-tab-split-table-checkbox-info": "Kun tämä asetus on käytössä, jokaiselle syötetiedostolle luodaan oma tulostaulukko. Muussa tapauksessa kaikki tulokset yhdistetään yhteen taulukkoon.", + "multi-tab-split-table-checkbox-label": "Jaa taulukot syötetiedoston mukaan", "multi-tab-title": "Eräanalyysi", "progress-analyzing": "Analysoidaan", "progress-autotune": "Autoviritys käynnissä", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "Vähemmistöluokan vähimmäissuhde enemmistöluokkaan verrattuna ylösnäytteistyksen jälkeen.", "training-tab-upsampling-ratio-slider-label": "Ylösnäytteistyssuhde", - "training-tab-warning-detached-classifier-append": "Liitä-tila ei koske irrotettua luokitinta.", "training-tab-use-focal-loss-checkbox-info": "Käyttää focal lossia koulutuksen aikana. Tämä antaa enemmän painoarvoa vaikeille esimerkeille ja auttaa käsittelemään luokkien epätasapainoa.", "training-tab-use-focal-loss-checkbox-label": "Käytä focal lossia", "training-tab-use-labelsmoothing-checkbox-info": "Soveltaa label smoothingia koulutuksen aikana. Tämä voi parantaa mallin yleistämistä estämällä mallia tulemasta liian itsevarmaksi.", "training-tab-use-labelsmoothing-checkbox-label": "Käytä label smoothingia", "training-tab-use-mixup-checkbox-info": "Sekoitus on datarikastusmenetelmä, joka luo uusia näytteitä yhdistämällä kaksi näytettä ja niiden leimaukset.", "training-tab-use-mixup-checkbox-label": "Käytä sekoitusta", + "training-tab-warning-detached-classifier-append": "Liitä-tila ei koske irrotettua luokitinta.", "validation-max-confidence-lower-than-min-confidence": "Enimmäisluotettavuuden on oltava suurempi kuin vähimmäisluotettavuus", "validation-no-audio-directory-selected": "Äänihakemistoa ei ole valittu", "validation-no-cache-file-selected": "Valitse välimuistitiedosto.", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "Anna kelvollinen aikakausien määrä.", "validation-no-valid-frequency": "Anna kelvollinen taajuus", "validation-no-valid-learning-rate": "Anna kelvollinen oppimistahti." -} +} \ No newline at end of file diff --git a/birdnet_analyzer/lang/fr.json b/birdnet_analyzer/lang/fr.json index 79fe3750a..56f369806 100644 --- a/birdnet_analyzer/lang/fr.json +++ b/birdnet_analyzer/lang/fr.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "Longueur", "multi-tab-samples-dataframe-column-subpath-header": "Sous-chemin", "multi-tab-samples-dataframe-no-files-found": "Aucun fichiers trouvés", + "multi-tab-split-table-checkbox-info": "Lorsqu'elle est activée, une table de résultats distincte est créée pour chaque fichier d'entrée. Sinon, tous les résultats sont regroupés dans une seule table.", + "multi-tab-split-table-checkbox-label": "Séparer les tables par fichier d'entrée", "multi-tab-title": "Analyse par lots", "progress-analyzing": "Analyse en cours", "progress-autotune": "Autotune en progression", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "Le ratio minimum pour une classe minoritaire par rapport à la classe majoritaire après le rééchantillonnage.", "training-tab-upsampling-ratio-slider-label": "Rapport de suréchantillonnage", - "training-tab-warning-detached-classifier-append": "Le mode d'ajout ne s'appliquera pas au classificateur détaché.", "training-tab-use-focal-loss-checkbox-info": "Utilise la perte focale pendant l'entraînement. Cela donne plus de poids aux exemples difficiles et aide à gérer le déséquilibre des classes.", "training-tab-use-focal-loss-checkbox-label": "Utiliser la perte focale", "training-tab-use-labelsmoothing-checkbox-info": "Applique le lissage des étiquettes pendant l'entraînement. Cela peut améliorer la généralisation du modèle en empêchant le modèle de devenir trop confiant.", "training-tab-use-labelsmoothing-checkbox-label": "Utiliser le lissage des étiquettes", "training-tab-use-mixup-checkbox-info": "Le mixage est une technique d'augmentation des données qui génère de nouveaux échantillons en mélangeant deux échantillons et leurs étiquettes.", "training-tab-use-mixup-checkbox-label": "Utiliser le mixage", + "training-tab-warning-detached-classifier-append": "Le mode d'ajout ne s'appliquera pas au classificateur détaché.", "validation-max-confidence-lower-than-min-confidence": "La confiance maximale doit être supérieure à la confiance minimale", "validation-no-audio-directory-selected": "Aucun dossiers audio sélectionnés", "validation-no-cache-file-selected": "Veuillez sélectionner un fichier cache.", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "Veuillez saisir un nombre valide d'époques.", "validation-no-valid-frequency": "Veuillez saisir une fréquence valide dans", "validation-no-valid-learning-rate": "Veuillez saisir un taux d'apprentissage valide." -} +} \ No newline at end of file diff --git a/birdnet_analyzer/lang/id.json b/birdnet_analyzer/lang/id.json index 534265b57..ef30e6c72 100644 --- a/birdnet_analyzer/lang/id.json +++ b/birdnet_analyzer/lang/id.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "Panjang", "multi-tab-samples-dataframe-column-subpath-header": "Subjalur", "multi-tab-samples-dataframe-no-files-found": "Tidak ada file yang ditemukan", + "multi-tab-split-table-checkbox-info": "Kun tämä asetus on käytössä, jokaiselle syötetiedostolle luodaan oma tulostaulukko. Muussa tapauksessa kaikki tulokset yhdistetään yhteen taulukkoon.", + "multi-tab-split-table-checkbox-label": "Jaa taulukot syötetiedoston mukaan", "multi-tab-title": "Analisis batch", "progress-analyzing": "Menganalisis", "progress-autotune": "Autotune dalam progres", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "Rasio minimum untuk kelas minoritas dibandingkan dengan kelas mayoritas setelah peningkatan sampel.", "training-tab-upsampling-ratio-slider-label": "Rasio peningkatan sampel", - "training-tab-warning-detached-classifier-append": "Mode tambah tidak akan berlaku untuk pengklasifikasi terlepas.", "training-tab-use-focal-loss-checkbox-info": "Menggunakan focal loss selama pelatihan. Ini memberikan bobot lebih pada contoh yang sulit dan membantu menangani ketidakseimbangan kelas.", "training-tab-use-focal-loss-checkbox-label": "Gunakan focal loss", "training-tab-use-labelsmoothing-checkbox-info": "Menerapkan label smoothing selama pelatihan. Ini dapat membantu meningkatkan generalisasi model dengan mencegah model menjadi terlalu percaya diri.", "training-tab-use-labelsmoothing-checkbox-label": "Gunakan label smoothing", "training-tab-use-mixup-checkbox-info": "Mixup adalah teknik augmentasi data yang menghasilkan sampel baru dengan mencampurkan dua sampel dan labelnya.", "training-tab-use-mixup-checkbox-label": "Gunakan mixup", + "training-tab-warning-detached-classifier-append": "Mode tambah tidak akan berlaku untuk pengklasifikasi terlepas.", "validation-max-confidence-lower-than-min-confidence": "Kepercayaan maksimum harus lebih besar dari kepercayaan minimum", "validation-no-audio-directory-selected": "Tidak ada audio direktori yang dipilih", "validation-no-cache-file-selected": "Silakan pilih berkas cache.", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "Silakan masukkan jumlah epochs yang valid.", "validation-no-valid-frequency": "Silakan masukkan frekuensi yang valid dalam", "validation-no-valid-learning-rate": "Silakan masukkan laju pembelajaran yang valid." -} +} \ No newline at end of file diff --git a/birdnet_analyzer/lang/pt-br.json b/birdnet_analyzer/lang/pt-br.json index 121f80ace..eb47767a1 100644 --- a/birdnet_analyzer/lang/pt-br.json +++ b/birdnet_analyzer/lang/pt-br.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "Duração", "multi-tab-samples-dataframe-column-subpath-header": "Subcaminho", "multi-tab-samples-dataframe-no-files-found": "Nenhum arquivo encontrado", + "multi-tab-split-table-checkbox-info": "Quando ativado, uma tabela de resultados separada é criada para cada arquivo de entrada. Caso contrário, todos os resultados são combinados em uma única tabela.", + "multi-tab-split-table-checkbox-label": "Separar tabelas por arquivo de entrada", "multi-tab-title": "Análise em lote", "progress-analyzing": "Analisando", "progress-autotune": "Autotune em progresss", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "A proporção mínima para uma classe minoritária em comparação com a classe majoritária após a amostragem adicional.", "training-tab-upsampling-ratio-slider-label": "Taxa de upsampling", - "training-tab-warning-detached-classifier-append": "O modo de acréscimo não será aplicado ao classificador desanexado.", "training-tab-use-focal-loss-checkbox-info": "Usa perda focal durante o treinamento. Isso dá mais peso a exemplos difíceis e ajuda a lidar com o desequilíbrio de classes.", "training-tab-use-focal-loss-checkbox-label": "Usar perda focal", "training-tab-use-labelsmoothing-checkbox-info": "Aplica suavização de rótulos durante o treinamento. Isso pode melhorar a generalização do modelo, evitando que ele se torne excessivamente confiante.", "training-tab-use-labelsmoothing-checkbox-label": "Usar suavização de rótulos", "training-tab-use-mixup-checkbox-info": "Mixup é uma técnica de aumento de dados que gera novas amostras misturando duas amostras e seus rótulos.", "training-tab-use-mixup-checkbox-label": "Usar mixup", + "training-tab-warning-detached-classifier-append": "O modo de acréscimo não será aplicado ao classificador desanexado.", "validation-max-confidence-lower-than-min-confidence": "A confiança máxima deve ser maior que a confiança mínima", "validation-no-audio-directory-selected": "Nenhum diretório de áudios selecionado", "validation-no-cache-file-selected": "Selecione um arquivo de cache.", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "Adicionar um número de épocas (epochs) válido.", "validation-no-valid-frequency": "Adicionar uma frequência válida em", "validation-no-valid-learning-rate": "Adicionar uma taxa de amostragem válida." -} +} \ No newline at end of file diff --git a/birdnet_analyzer/lang/ru.json b/birdnet_analyzer/lang/ru.json index 54638a622..d9270d414 100644 --- a/birdnet_analyzer/lang/ru.json +++ b/birdnet_analyzer/lang/ru.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "Длина", "multi-tab-samples-dataframe-column-subpath-header": "Подпуть", "multi-tab-samples-dataframe-no-files-found": "Файлы не найдены", + "multi-tab-split-table-checkbox-info": "Если включено, для каждого входного файла будет создана отдельная таблица результатов. В противном случае все результаты будут объединены в одной таблице.", + "multi-tab-split-table-checkbox-label": "Разделять таблицы по входным файлам", "multi-tab-title": "Пакетный анализ", "progress-analyzing": "Анализ", "progress-autotune": "Выполняется автонастройка", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "Минимальный коэффициент для меньшего класса по сравнению с большим классом после повышения выборки.", "training-tab-upsampling-ratio-slider-label": "Коэффициент повышения дискретизации", - "training-tab-warning-detached-classifier-append": "Режим добавления не применяется к отсоединённому классификатору.", "training-tab-use-focal-loss-checkbox-info": "Использует фокальную потерю во время обучения. Это придает больший вес сложным примерам и помогает справляться с дисбалансом классов.", "training-tab-use-focal-loss-checkbox-label": "Использовать фокальную потерю", "training-tab-use-labelsmoothing-checkbox-info": "Применяет сглаживание меток во время обучения. Это может улучшить обобщение модели, предотвращая излишнюю уверенность модели.", "training-tab-use-labelsmoothing-checkbox-label": "Использовать сглаживание меток", "training-tab-use-mixup-checkbox-info": "Mixup - это метод увеличения объема данных, который генерирует новые выборки путем смешивания двух выборок и их меток.", "training-tab-use-mixup-checkbox-label": "Использовать смешение (Mixup)", + "training-tab-warning-detached-classifier-append": "Режим добавления не применяется к отсоединённому классификатору.", "validation-max-confidence-lower-than-min-confidence": "Максимальная достоверность должна быть больше минимальной достоверности", "validation-no-audio-directory-selected": "Каталог аудио не выбран", "validation-no-cache-file-selected": "Пожалуйста, выберите файл кэша.", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "Пожалуйста, введите допустимое количество периодов.", "validation-no-valid-frequency": "Введите допустимую частоту в", "validation-no-valid-learning-rate": "Пожалуйста, введите допустимый коэффициент обучения." -} +} \ No newline at end of file diff --git a/birdnet_analyzer/lang/se.json b/birdnet_analyzer/lang/se.json index 875f537f3..6481b669a 100644 --- a/birdnet_analyzer/lang/se.json +++ b/birdnet_analyzer/lang/se.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "Längd", "multi-tab-samples-dataframe-column-subpath-header": "Undersökväg", "multi-tab-samples-dataframe-no-files-found": "Inga filer hittades", + "multi-tab-split-table-checkbox-info": "När detta är aktiverat skapas en separat resultattabell för varje indatafil. Annars sammanställs alla resultat i en enda tabell.", + "multi-tab-split-table-checkbox-label": "Dela upp tabeller per indatafil", "multi-tab-title": "Batchanalys", "progress-analyzing": "Analyserar", "progress-autotune": "Autojustering pågår", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "Minsta förhållandet för en minoritetsklass jämfört med majoritetsklass efter upsampling.", "training-tab-upsampling-ratio-slider-label": "Upsamplingsförhållande", - "training-tab-warning-detached-classifier-append": "Tilläggsläget gäller inte för den fristående klassificeraren.", "training-tab-use-focal-loss-checkbox-info": "Använder fokalförlust under träning. Detta ger mer vikt till svåra exempel och hjälper till att hantera klassobalans.", "training-tab-use-focal-loss-checkbox-label": "Använd fokalförlust", "training-tab-use-labelsmoothing-checkbox-info": "Tillämpa label smoothing under träning. Detta kan förbättra modellens generalisering genom att förhindra att modellen blir för självsäker.", "training-tab-use-labelsmoothing-checkbox-label": "Använd label smoothing", "training-tab-use-mixup-checkbox-info": "Mixup är en dataaugmenteringsteknik som genererar nya prover genom att blanda två prover och deras etiketter.", "training-tab-use-mixup-checkbox-label": "Använd mixup", + "training-tab-warning-detached-classifier-append": "Tilläggsläget gäller inte för den fristående klassificeraren.", "validation-max-confidence-lower-than-min-confidence": "Maximal konfidens måste vara större än minimal konfidens", "validation-no-audio-directory-selected": "Ingen ljudkatalog vald", "validation-no-cache-file-selected": "Vänligen välj en cachefil.", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "Ange ett giltigt antal epoker.", "validation-no-valid-frequency": "Ange en giltig frekvens i", "validation-no-valid-learning-rate": "Ange en giltig inlärningshastighet." -} +} \ No newline at end of file diff --git a/birdnet_analyzer/lang/tlh.json b/birdnet_analyzer/lang/tlh.json index b0258dea1..98f51bd6b 100644 --- a/birdnet_analyzer/lang/tlh.json +++ b/birdnet_analyzer/lang/tlh.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "tup", "multi-tab-samples-dataframe-column-subpath-header": "wavmey", "multi-tab-samples-dataframe-no-files-found": "wavmey tu'Ha'", + "multi-tab-split-table-checkbox-info": "chu'lu'chugh, Hoch wejDIch De' ngaSmeH nagh qechmeyvaD vaj wa' Sep ghItlhmey chenmoHlu'. chu'be'lu'chugh, Hoch QInmey wa' ghItlhmeyDaq tatlhlu'.", + "multi-tab-split-table-checkbox-label": "De' ngaSmeH naghmeyvo' ghItlhmey Sep", "multi-tab-title": "law' poj", "progress-analyzing": "poj", "progress-autotune": "autotune Qap", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "chu' ratio Seghmey.", "training-tab-upsampling-ratio-slider-label": "qochHa' ratio", - "training-tab-warning-detached-classifier-append": "chel mIw DetlhHa' ghovwI'vaD lInglaHbe'.", "training-tab-use-focal-loss-checkbox-info": "qeq focal loss lo'. qeq QatlhmoH 'ej qeq laH QaQmoH.", "training-tab-use-focal-loss-checkbox-label": "focal loss lo'", "training-tab-use-labelsmoothing-checkbox-info": "qeq label smoothing lo'. qeq laH QaQmoH 'ej qeq laH QatlhmoH.", "training-tab-use-labelsmoothing-checkbox-label": "label smoothing lo'", "training-tab-use-mixup-checkbox-info": "nuvHa'choHmoH lo'law' qeq qechmey chu'.", "training-tab-use-mixup-checkbox-label": "nuvHa'choHmoH lo'", + "training-tab-warning-detached-classifier-append": "chel mIw DetlhHa' ghovwI'vaD lInglaHbe'.", "validation-max-confidence-lower-than-min-confidence": "nIvbogh vIt patlh tIn law' minimum vIt patlh tIn puS", "validation-no-audio-directory-selected": "wav Daq tu'Ha'.", "validation-no-cache-file-selected": "polmeH teywI' yIwIv.", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "epQochmey yIchoH.", "validation-no-valid-frequency": "qeq 'eS patlh yIchoH", "validation-no-valid-learning-rate": "qeq patlh yIchoH." -} +} \ No newline at end of file diff --git a/birdnet_analyzer/lang/zh_TW.json b/birdnet_analyzer/lang/zh_TW.json index 7a4fe496c..a347727c6 100644 --- a/birdnet_analyzer/lang/zh_TW.json +++ b/birdnet_analyzer/lang/zh_TW.json @@ -180,6 +180,8 @@ "multi-tab-samples-dataframe-column-duration-header": "長度", "multi-tab-samples-dataframe-column-subpath-header": "音檔路徑", "multi-tab-samples-dataframe-no-files-found": "找無檔案", + "multi-tab-split-table-checkbox-info": "啟用後,系統會為每個輸入檔案建立獨立的結果表格。否則,所有結果將合併到同一個表格中。", + "multi-tab-split-table-checkbox-label": "依輸入檔案分割表格", "multi-tab-title": "多筆音檔", "progress-analyzing": "分析中", "progress-autotune": "自動調諧進行中", @@ -369,13 +371,13 @@ "training-tab-upsampling-radio-option-smote": "SMOTE", "training-tab-upsampling-ratio-slider-info": "在上取樣後,最少數類別與最多數類別的資料數量最小比例", "training-tab-upsampling-ratio-slider-label": "上取樣比例", - "training-tab-warning-detached-classifier-append": "附加模式不適用於分離的分類器。", "training-tab-use-focal-loss-checkbox-info": "在訓練期間使用焦點損失。這給予困難樣本更多的權重,並有助於處理類別不平衡。", "training-tab-use-focal-loss-checkbox-label": "使用焦點損失", "training-tab-use-labelsmoothing-checkbox-info": "在訓練期間應用標籤平滑。這可以通過防止模型過於自信來幫助改善模型的泛化能力。", "training-tab-use-labelsmoothing-checkbox-label": "使用標籤平滑", "training-tab-use-mixup-checkbox-info": "Mixup 是一種數據增強的技術,利用混和兩套資料和標記來產生新的資料樣本", "training-tab-use-mixup-checkbox-label": "使用 Mixup", + "training-tab-warning-detached-classifier-append": "附加模式不適用於分離的分類器。", "validation-max-confidence-lower-than-min-confidence": "最大可信度必須大於最小可信度", "validation-no-audio-directory-selected": "請提供包含音檔的資料夾", "validation-no-cache-file-selected": "請選擇快取檔案。", @@ -390,4 +392,4 @@ "validation-no-valid-epoch-number": "請輸入有效的訓練期(eopch)數量", "validation-no-valid-frequency": "請輸入有效的頻率", "validation-no-valid-learning-rate": "請輸入有效的學習速率" -} +} \ No newline at end of file