Тренировка модели Keras с Dask Array идет очень медленно
Я хочу использовать Dask
читать большой набор данных и кормить его Keras
модель. Данные состоят из аудиофайлов, и я использую пользовательскую функцию для их чтения. Я пытался подать заявку delayed
к этой функции, и я собираю все файлы в массив dask, как:
x = da.stack([da.from_delayed(delayed(get_item_data)(fp, sr, mono, post_processing, data_shape), shape=data_shape, dtype=np.float32) for fp in df['path']])
(См. Источник)
Чтобы обучить модель Keras, я вычисляю X и Y, как указано выше, и вводю их в функцию fit
,
Однако обучение идет очень медленно. Я пытался изменить chunksize
и это все еще очень медленно.
Не могли бы вы сказать мне, если я делаю что-то не так при создании массива? Или какие-то хорошие практики для этого?
Спасибо
1 ответ
Насколько я знаю, у Keras нет встроенной поддержки Dask.arrays. Поэтому я не уверен, что произойдет, когда вы предоставите dask.array непосредственно для функций Keras. Я предполагаю, что он автоматически преобразует массив dask.array в (возможно, очень большой) массив numpy.