.. include:: ../../../reuse_content/general.rst .. |a_config| raw:: html .. |a_guide| raw:: html Обучение акустических нейросетевых моделей ========================================== Команда для запуска процесса обучения акустических нейросетевых моделей: .. code-block:: sh python ./openav/api/train_audio.py --config <путь_к_вашему_конфигурационному_файлу>.yaml .. important:: Для запуска команды необходимо обязательно указать путь к конфигурационному файлу. Запускать программу необходимо из директории, где она расположена. Конфигурационный файл ~~~~~~~~~~~~~~~~~~~~~ Конфигурационный файл включает в себя следующие настройки: * Отображение процесса выполнения программы в терминале (командной строке) * Работа с файловой системой * Параметры настройки процесса обучения нейросетевых моделей .. rst-class:: config-link |a_config| Пример конфигурационного файла |/a| .. important:: Для обучения на видеоадапторе потребуется вручную установить библиотеку для машинного обучения PyTorch с использованием GPU. |a_guide| Инструкция для установки PyTorch с использованием GPU |/a| Отображение процесса выполнения команды в терминале ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. rst-class:: custom-table shell-table .. csv-table:: :align: center :header: "Параметр", "Тип", "Значение по умолчанию", "Описание" :widths: 23, 7, 25, 45 "hide_metadata", "bool", "``false``", "Включение отображения метаданных" "hide_libs_vers", "bool", "``false``", "Включение отображения версий установленных библиотек в командной строке" Работа с файловой системой ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. rst-class:: custom-table filesystem-table .. csv-table:: :align: center :header: "Параметр", "Тип", "Значение по умолчанию", "Описание" :widths: 23, 7, 25, 45 "path_to_dataset", "str", "``<путь_к_набору_данных>``", "Директория, где размещается подготовленный набор данных для обучения нейросетевых моделей" Параметры процесса обучения акустических нейросетевых моделей ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. rst-class:: custom-table encode-table .. csv-table:: :align: center :header: "Параметр", "Тип", "Значение по умолчанию", "Описание" :widths: 23, 7, 20, 50 "len_audio", "int", "``ваше значение``", "Количество аудиофайлов" "size_spec", "int", "``width: 224`` |br| ``height: 224``", "Размер входного изображения спектрограммы в ``px``" "padding_spec", "bool", "``True``", "Добавление отступов на изображениях спектрограмм" "seed", "int", "``42``", "Параметр для инициализации случайных процессов, который обеспечивает воспроизводимость результатов и одинаковые начальные условия" "batch_size", "int", "``8``", "Размер батча. Общее число тренировочных объектов, представленных в одном батче. Устанавливается в зависимости от возможности вашего оборудования" "channels_spec", "int", "``1``", "Количество каналов изображения. ``1``- одноканальное изображение (в серых тонах), ``3`` - трёхканальное изображение (RGB)" "lr", "float", "``0.0001``", "Коэффициент скорости обучения. Чем меньше значение, тем дольше будет идти обучение модели. Однако, стоит помнить, что может наступить переобучение модели. Данный коэффициент подбирается эмпирическим путем" "epoch", "int", "``100``", "Количество эпох обучения модели. Проход одной эпохи значит, что весь датасет прошел через нейронную сеть в прямом и обратном направлении только один раз. Параметр ``epoch_stop`` позволяет избежать переобучения модели" "epoch_stop", "int", "``5``", "Количество эпох, в течении которых модель не прогрессирует в обучении. Т.е. если по прошествии, например, ``5`` эпох модель не показывала прирост ``accuracy`` (либо ваша метрика), то в данном случае процесс обучения останавливается и сохраняется модель на эпохе с наибольшей точностью. Данный параметр позволяет предотвратить переобучение модели, а также снизить длительность обучения"