将mp3文件格式化为CNN机器学习的频谱图

时间:2016-06-21 16:56:15

标签: python python-2.7 machine-learning theano keras

我玩得很开心,并且从玩MNIST数据集中学到了很多东西,但是我想开始使用我自己的训练数据,我使用theano和keras。但是,我很难概念化如何创建培训数据。

我查看了MNIST的结构,并看到,作为数据,第一部分是图像的分类,其余部分是0-100的单个像素亮度。

我的第一个想法是使用像thisthis这样的specotgrams,但我不理解的是如何构建数据以便CNN可以读取它。任何想法或建议?

1 个答案:

答案 0 :(得分:1)

我可能无法准确回答这个问题。

我将尝试解释MNIST数据集的格式,我将采用以下示例。

考虑您希望在训练数据中使用四个不同的类别标签对图像进行分类 - > 汽车自行车公交车飞机。 所有图像都是彩色图像,每个RGB具有255个像素值。我将发光度/不透明度值排除在此示例的属性之外。所有图像都已标准化,尺寸为28x28(只是任意尺寸)。这给了我们784个像素,并且由于每个像素有3个RGB值,这给了我们784x3 = 2352个属性值。

每个实例的输出(在MNIST数据集中)表示为一个热矢量表示。汽车,自行车,公共汽车和飞机的1个热矢量表示分别为1000,0100,0010和0001。

假设MNIST数据集有1000个训练实例,那么它将采用以下结构。它将包含1000个元组,其中每个元组是输入向量(长度为2352个属性)和输出向量(一个热表示,长度为4个属性)的组合。

这是为了更加清晰。

([12,51,16,17,.......,12],[0,0,1,0])

([55,125,71,244,.....,10],[1,0,0,0])

...

元组中的第一个列表长度为2352,元组中的第二个列表长度为4。每个代表一个训练实例的总共有1000个元组。

如果您愿意,可以查看此code,其中我创建了一个类似于MNIST格式的数据集。