правый.Итак, я работаю над проблемой, касающейся аудио, с использованием машинного обучения.Мой набор данных довольно большой, и он не подходит для моего барана.Поэтому я решил, что я сделаю для него специальный генератор данных, который затем передам в model.fit_generator
Keras.
Однако я не уверен, как точно передать данные в fit_generator
. * 1005.*
Другая проблема заключается в том, что функция dataset_creator_PP
довольно дорогая с точки зрения процессорного времени, настолько, что она может стать препятствием для моих графических процессоров.Может ли fit_generator()
Keras распараллелить мой пакетный процесс?Если так, то как?Или мне нужно использовать многопроцессорность для решения этой проблемы?Должен ли я просто удалить аргумент batch_size
из моей функции и вместо этого сделать так, чтобы он выдавал только 1 файл за раз.Если это так, то кто будет отслеживать все файлы, которые были / не использовались для обучения?
Примечание. Некоторая информация, которую вы можете найти полезной - all_files: все имена файлов обучающих примеров (train_X) находятся в path_c1.выходные файлы (train_y) имеют одинаковые имена в path_c2 dataset_creator_PP
, открывают эти файлы и затем выполняют тяжелую предварительную обработку.
Спасибо, что нашли время, чтобы прочитать и, надеюсь, поделиться ответом на этот вопрос.
Пожалуйста, найдите код ниже
Моя функция генератора
def audio_datagen(all_files, batch_size, path_c1, path_c2, sr, nfft, hop_len, mfcc_coefs):
while True:
# initialize batches of data:
counter = 0
stft_c1, stft_c2 = dataset_creator_PP(path_c1, path_c2, sr, nfft, hop_len,
mfcc_coefs, all_files[(counter+0):(counter+batch_size)])
counter += batch_size
yeild stft_c2, stft_c1