Как обработать входные данные для аудио классификации, используя CNN с PyTorch? - PullRequest
1 голос
/ 22 января 2020

Поскольку студент-инженер работает над областями DSP и ML, я работаю над проектом по классификации аудио, в котором вводятся короткие клипы (4 se c.) Таких инструментов, как бас, клавиатура, гитара и т. Д. c. ( NSynth Dataset от команды Magenta в Google ).

Идея состоит в том, чтобы преобразовать все короткие клипы (файлы .wav) в спектрограммы или мельспектрограммы, а затем применить CNN для обучения модели.

Однако мои вопросы таковы, что весь набор данных большой (приблизительно 23 ГБ), и мне интересно, если мне сначала нужно преобразовать все аудиофайлы в изображения, такие как PNG, а затем применить CNN. Я чувствую, что это может занять много времени, и это удвоит пространство для хранения моих входных данных, так как теперь это аудио + изображение (возможно, до 70 ГБ).

Таким образом, мне интересно, есть ли Обходной путь, который может ускорить процесс.

Заранее спасибо.

1 Ответ

1 голос
/ 22 января 2020

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

Вместо использования PNG я бы лучше сохранял непосредственно тензоры PyTorch (torch.save, использующие стандартные протоколы травления Python) или NumPy массивы (numpy.savez* 1008) * сохраняет сериализованные массивы в zip-файл). Если вас беспокоит дисковое пространство, вы можете рассмотреть numpy.save_compressed.

...