Обучение визуальных нейросетевых моделей

Команда для запуска процесса обучения визуальных нейросетевых моделей:

python ./openav/api/train_video.py --config <путь_к_вашему_конфигурационному_файлу>.yaml

Important

Для запуска команды необходимо обязательно указать путь к конфигурационному файлу. Запускать программу необходимо из директории, где она расположена.

Конфигурационный файл

Конфигурационный файл включает в себя следующие настройки:

  • Отображение процесса выполнения программы в терминале (командной строке)

  • Работа с файловой системой

  • Параметры настройки процесса обучения нейросетевых моделей

Important

Для обучения на видеоадапторе потребуется вручную установить библиотеку для машинного обучения PyTorch с использованием GPU.

Инструкция для установки PyTorch с использованием GPU

Отображение процесса выполнения команды в терминале

Параметр

Тип

Значение по умолчанию

Описание

hide_metadata

bool

false

Включение отображения метаданных

hide_libs_vers

bool

false

Включение отображения версий установленных библиотек в командной строке

Работа с файловой системой

Параметр

Тип

Значение по умолчанию

Описание

path_to_dataset

str

<путь_к_набору_данных>

Директория, где размещается подготовленный набор данных для обучения нейросетевых моделей

Параметры процесса обучения визуальных нейросетевых моделей

Параметр

Тип

Значение по умолчанию

Описание

len_video

int

ваше значение

Количество видеофайлов

size_lips

int

width: 112
height: 112

Размер входного изображения области губ в px

padding_lips

bool

True

Добавление отступов на изображениях губ

seed

int

42

Параметр для инициализации случайных процессов, который обеспечивает воспроизводимость результатов и одинаковые начальные условия

batch_size

int

8

Размер батча. Общее число тренировочных объектов, представленных в одном батче. Устанавливается в зависимости от возможности вашего оборудования

channels_lips

int

1

Количество каналов изображения. 1- одноканальное изображение (в серых тонах), 3 - трёхканальное изображение (RGB)

lr

float

0.0001

Коэффициент скорости обучения. Чем меньше значение, тем дольше будет идти обучение модели. Однако, стоит помнить, что может наступить переобучение модели. Данный коэффициент подбирается эмпирическим путем

epoch

int

100

Количество эпох обучения модели. Проход одной эпохи значит, что весь датасет прошел через нейронную сеть в прямом и обратном направлении только один раз. Параметр epoch_stop позволяет избежать переобучения модели

epoch_stop

int

5

Количество эпох, в течении которых модель не прогрессирует в обучении. Т.е. если по прошествии, например, 5 эпох модель не показывала прирост accuracy (либо ваша метрика), то в данном случае процесс обучения останавливается и сохраняется модель на эпохе с наибольшей точностью. Данный параметр позволяет предотвратить переобучение модели, а также снизить длительность обучения