Skip to main content

Домашняя работа 1

ФИО: Рустамова Дарина Дмитриевна Курс: 1 Telegram: https://t.me/jndooe
Created on March 23|Last edited on March 23

Часть 1 [10 pts]

Реализация LogMelFilterBanks.
Проверка осуществлялась на треке Death in June - Little Black Angel.
Слева реализация MelSpectogram [torchaudio], справа моя реализация. Assert checks пройдены успешно.


Часть 2 [20 pts]

Set-up training pipeline



Итого с настройками по умолчанию можно достигнуть 99%+ качества на тестовом сете при количестве параметров 10К.

Train a model and experiment with a number of filterbanks in `LogMelFilterBanks` layer

Learning rate во всех экспериментах: 1e-3
Количество эпох во всех экспериментов: 10


  • с увеличением n_mels растет и test_accuracy, flops и params
  • при n_mels = 20 количество параметров равно 5к, при n_mels = 40 - 7k и n_mels = 80 - 10k
  • лучший результат test_accuracy у эксперимента с n_mels = 80
  • заметно, что среднее время эпохи и среднее время эксперимента растет с увеличением n_mels если рассматривать только 2 эксперимента: 20 и 80. При n_mels = 40 время сильно увеличилось по сравннию с n_mels 20 и 80
  • графики val_loss, val_acc, train_loss похожи, но у n_mels=80 можно заметить на 1 эпохе значения сильно ниже чем у остальных экспериментов

Experiment with `groups` parameter of Conv1d layer:

Из предыдущего эксперимента был выбран n_mels = 80, так как он показал лучший test accuracy.


  • с увеличением groups уменьшается flops, params и test accuracy
  • при groups = 16 самые плохие результаы val_loss, val_acc, train_loss и test_acc.
  • по epoch_time и relative_time нельзя однозначно сказать, что есть корреляция. Можно отметить, что с groups = 2 обработка выходит дольше остальных