我尝试创建input-feature-matrix时发生内存错误:是否有更好的方法来创建用于模型准备的input-feature-matrix?

时间:2018-09-15 13:57:32

标签: python numpy machine-learning neural-network

我正在使用pysoundfile读取264个非立体声(单声道)音频文件。每个读取操作都会返回采样率(数字)和具有(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

我收到内存错误。我不知道如何避免这种情况。

为帮助我更好地理解某些知识,我想构建输入特征向量作为神经网络的输入,并想了解它是否可以学习区分不同的声音。因此,我试图创建一个矩阵,其中特征的数量将是我拥有的声音文件总数,总特征将是通道数据的中间形状。如何避免此错误?有没有更好的方法为神经网络准备输入功能?

0 个答案:

没有答案