Тренировка модели 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.

Другие вопросы по тегам