我试图创建一个模型,它是在大型音乐数据集上训练的。将midi文件转换为numpy数组。由于LSTM需要顺序数据,因此将数据集转换为LSTM序列后,数据集大小变得非常庞大。
我将midi音符转换为基于半音和持续时间的索引,所以我获得C4键的6个类。同样地,我得到了C3到B5,总共288个类,还有休息时间的类。
单个midi的转换格式如下:
midi = [0,23,54,180,23,45,34,.....];
为了训练LSTM,x和y变成了:
x = [[0,23,54..45],[23,54,..,34],...];
y=[[34],[76],...]
x和y中的值进一步转换为one-hot编码。
因此,仅使用60个小mid文件,数据的大小就变得巨大了,但我有1700个文件,我该如何训练这么多的文件呢?我检查了ImageGenerator,但它需要将数据放在单独的类目录中。该如何解决这个问题?
x = [[0,23,54..45],[23,54,..,34],...];
和y=[[34],[76],...]
进行训练,而不是将其转换为独热编码? - R Nanthak