Обычный вариант использования кода машинного / глубокого обучения, который работает с изображениями и звуком, - это загрузка и манипулирование большими наборами данных изображений или аудиосегментов. Почти всегда записи в этих наборах данных представлены сегментом изображения / аудио и метаданными (например, метка класса, экземпляр обучения / теста и т. Д.).
Например, в моем конкретном случае использования распознавания речи, наборы данных почти всегда состоят из записей со свойствами, такими как:
- Идентификатор динамика (строка)
- Стенограмма (строка)
- Данные испытаний (бул)
- WAV-данные (массив numpy)
- Имя набора данных (строка)
- ...
Каков рекомендуемый способ представления такого набора данных в pandas и / или dask - акцент на wav-данных (в наборе данных изображения это будут сами данные изображения)?
В пандах, с несколькими трюками , можно вставить вложенный массив внутри столбца, но это плохо сериализуется и также не будет работать с dask. Кажется, это очень распространенный вариант использования, но я не могу найти соответствующие рекомендации.
Можно также сериализовать / десериализовать эти массивы в двоичный формат (Petastorm Uber делает что-то вроде этого ), но это, кажется, упускает точку библиотек, таких как dask и pandas, где автоматическая сериализация является одним из основных выгоды.
Любые практические комментарии или предложения по различным методологиям приветствуются.