Ошибка памяти при попытке создания матрицы входных объектов: есть ли лучший способ создать матрицу входных объектов для подготовки модели? - PullRequest
0 голосов
/ 15 сентября 2018

Я читаю 264 не стерео (моноканальных) аудиофайла, используя pysoundfile . Каждая операция чтения возвращает частоту дискретизации (число) и данные канала, которые имеют некоторую форму (x,).

После прочтения всех файлов и сохранения формы данных канала в массиве 1d numpy я вычисляю среднюю форму данных канала. Он равен 2058043.0.

import soundfile as sf
sound_shapes = np.zeros(len(sound_files))

for index, sound_file in enumerate(sound_files):
    data, samplerate = sf.read(SOUND_FILE_DIR + sound_file)
    np.put(sound_shapes, index, data.shape[0])

Теперь я хочу создать матрицу формы 2058043 x 264, где 2058043 представляет срединную форму данных канала, а 264 представляет количество аудиофайлов.

Теперь, когда я пытаюсь создать матрицу, используя:

sound_vectors = np.zeros(shape=(column_length, len(sound_files)))
# column_length = 2058043
# sound_files = 264

Я получаю ошибку памяти. Я понятия не имею, как этого избежать.

Чтобы помочь мне лучше понять некоторые вещи, я хотел создать векторы входных объектов в качестве входных данных для нейронной сети и хотел узнать, сможет ли она научиться различать разные звуки. Итак, я пытался создать матрицу, в которой количество объектов будет равным общему количеству звуковых файлов, которые у меня есть, а общее количество объектов будет срединной формой данных канала. Как я мог избежать этой ошибки? Есть ли лучший способ подготовить входные функции для нейронной сети?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...