From e706ec6fee514796fe512bde65d42b8f24b0bdd7 Mon Sep 17 00:00:00 2001 From: Dimitrii Voronin <36505480+adamnsandle@users.noreply.github.com> Date: Mon, 19 Aug 2024 18:31:11 +0300 Subject: [PATCH] Update README.md --- tuning/README.md | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/tuning/README.md b/tuning/README.md index ba38aa8..b058382 100644 --- a/tuning/README.md +++ b/tuning/README.md @@ -5,19 +5,30 @@ Тюнинг используется для улучшения качества детекции речи Silero-VAD модели на кастомных данных. +## Зависимости +Следующие зависимости используются при тюнинге VAD модели: +- `torch>=1.12.0` +- `torchaudio>=0.12.0` +- `sklearn>=1.2.0` +- `tqdm` +- `pandas>=2.2.2` +- `omegaconf>=2.3.0` + ## Подготовка данных Датафреймы для тюнинга должны быть подготовлены и сохранены в формате `.feather`. Следующие колонки в `.feather` файлах тренировки и валидации являются обязательными: - **audio_path** - абсолютный путь до аудиофайла в дисковой системе. Аудиофайлы должны представлять собой `PCM` данные, предпочтительно в форматах `.wav` или `.opus` (иные популярные форматы аудио тоже поддерживаются). Для ускорения темпа дообучения рекомендуется предварительно выполнить ресемплинг аудиофайлов (изменить частоту дискретизации) до 16000 Гц; -- **speech_ts** - разметка для соответствующего аудиофайла. Список, состоящий из словарей формата `{'start': START_SEC, 'end': 'END_SEC'}`, где `START_SEC` и `END_SEC` - время начало и конца речевого отрезка в секундах соответственно. +- **speech_ts** - разметка для соответствующего аудиофайла. Список, состоящий из словарей формата `{'start': START_SEC, 'end': 'END_SEC'}`, где `START_SEC` и `END_SEC` - время начало и конца речевого отрезка в секундах соответственно. Для качественного дообучения рекомендуется использовать разметку с точностью до 30 миллисекунд. + +Чем больше данных используется на этапе дообучения, тем эффективнее показывает себя адаптированная модель на целевом домене. Длина аудио не ограничена, т.к. каждое аудио будет обрезано до `max_train_length_sec` секунд перед подачей в нейросеть. Длинные аудио лучше предварительно порезать на кусочки длины `max_train_length_sec`. Пример `.feather` датафрейма можно посмотреть в файле `example_dataframe.feather` ## Файл конфигурации `config.yml` Файл конфигурации `config.yml` содержит пути до обучающей и валидационной выборки, а также параметры дообучения: -- `train_dataset_path` - абсолютный путь до тренирового датафрема в формате `.feather`, Должен содержать колонки `audio_path` и `speech_ts`, описанные в пункте "Подготовка данных". Пример устройства датафрема можно посмотреть в `example_dataframe.feather`; -- `val_dataset_path` - абсолютный путь до валидационного датафрема в формате `.feather`, Должен содержать колонки `audio_path` и `speech_ts`, описанные в пункте "Подготовка данных". Пример устройства датафрема можно посмотреть в `example_dataframe.feather`; +- `train_dataset_path` - абсолютный путь до тренировочного датафрейма в формате `.feather`. Должен содержать колонки `audio_path` и `speech_ts`, описанные в пункте "Подготовка данных". Пример устройства датафрейма можно посмотреть в `example_dataframe.feather`; +- `val_dataset_path` - абсолютный путь до валидационного датафрейма в формате `.feather`. Должен содержать колонки `audio_path` и `speech_ts`, описанные в пункте "Подготовка данных". Пример устройства датафрейма можно посмотреть в `example_dataframe.feather`; - `use_torchhub` - Если `True`, то модель для дообучения будет загружена с помощью torch.hub. Если `False`, то модель для дообучения будет загружена с помощью библиотеки silero-vad (необходимо заранее установить командой `pip install silero-vad`); - `tune_8k` - данный параметр отвечает, какую голову Silero-VAD дообучать. Если `True`, дообучаться будет голова с 8000 Гц частотой дискретизации, иначе с 16000 Гц; - `model_save_path` - путь сохранения добученной модели; @@ -39,13 +50,14 @@ ## Цитирование ``` -@misc{Silero VAD Dataset, +@misc{Silero VAD, author = {Silero Team}, - title = {Silero-VAD Dataset: a large public Internet-scale dataset for voice activity detection for 6000+ languages}, - year = {2024}, + title = {Silero VAD: pre-trained enterprise-grade Voice Activity Detector (VAD), Number Detector and Language Classifier}, + year = {2021}, publisher = {GitHub}, journal = {GitHub repository}, - howpublished = {\url{https://github.com/snakers4/silero-vad/datasets/README.md}}, + howpublished = {\url{https://github.com/snakers4/silero-vad}}, + commit = {insert_some_commit_here}, email = {hello@silero.ai} } -``` \ No newline at end of file +```