我目前正在尝试实现一个神经网络,它将根据给定的训练生成音乐。我正在使用 Flux 包在 Julia 中编写,但是我发现文档有点难以掌握(我理解 nn 背后的逻辑,但是,我仍然对不同函数的作用感到困惑)。
我首先设置了一些训练数据以输入模型:
# trainingData = an 2D array of note pitches and rhythms.
# sortedData = the same as traingData but with duplicates removed.
# The function iterates through the training data and pushes an index value (its position in
# the sortedData array) to a new array, labels.
function labelData(trainingData, sortedData)
labels = []
# For each note, create a numerical label based on index of the note in the sorted data.
for note in trainingData
push!(labels, findfirst(isequal(note), sortedData))
end
return labels
end
想法是将标签索引 1 处的值输入模型,并告诉它预期输出是索引 2 处的值。然后给它索引 2,并说预期输出是索引 3,依此类推。然后,这些值充当地图,我们可以使用它来获得原始音高和节奏。
我是否正确地说该模型将能够根据预测生成一些音乐?
有人能给我一个关于如何创建模型来实现这一目标的先机吗?
干杯