Compound word transformer代码详解(一)数据预处理

作者的完整代码及其他数据资料存放的地址
1、将若干音乐表示成compound word的形式。compound word将音乐信息的类型分为7类,分别为family、tempo、chord、position/bar、pitch、duration、velocity。直观来说,用一个7维向量可以表示一个音乐信息。

Compound word transformer代码详解(一)数据预处理_第1张图片
2、又可通过family的类别,将剩余6类,划分为2大类,分别为与note相关的类以及与metric相关的类。
Compound word transformer代码详解(一)数据预处理_第2张图片
3、划分训练集存储在train_data_linear.npz中,其中存储train_x,train_y,train_mask的信息。
train_x : (1625, 3584, 7)
train_y : (1625, 3584, 7)
train_mask : (1625, 3584)

//其中train_mask是因为3584是所有音乐的最大tokens数,在分别处理音乐的时候需要进行补0操作,需要用train_mask记录补0的位置,后续训练时对这些地方进行mask。
mask = np.concatenate(
            [np.ones(seq_len), np.zeros(MAX_LEN-seq_len)])

4、在dictionary.pkl中记录tokens和数字的对应情况。

你可能感兴趣的:(深度学习,transformer,机器学习,深度学习)