Improvise a Jazz Solo with an LSTM Network编程作业随笔记录
-
加载生语料,并进行预处理,使之成为可供模型训练的“值”
-
输入:X ( m , Tx , n )
- m表示样本的个数
- Tx表示有多少时间步(一个样本被分成了多少个部分
- n表示有多少个候选项(所有音符)
-
与恐龙名字对比:
- 初始化:
- 生成音乐:X初始化为非0向量,因为音乐是从片段中截取的
- 生成名字:X初始化为0
- 初始化:
-
过程:
- 1、从Keras库中,调用函数,构建模型的实例(实现传播流程)
- 通过输入的音乐片段,学习权重矩阵以及偏执
- 所有输入的序列已知
- 2、通过学习好的模型,生成音乐
- 在上一步学习好的模型基础上,输入初始值,进行序列的生成
- 只有初始值
- 3、predict_and_sample函数
- 相当于主函数,将之前训练好的模型以及参数作为输入,输出索引以及每个索引所对应的独热编码
- 1、从Keras库中,调用函数,构建模型的实例(实现传播流程)
-
自己总结训练模型过程
- 获取参数的规格
- LSTM的单元个数与隐藏层的维度一样n_a
- 全链接层的单元个数与输入的个数是一样的n_values
- 创建空列表,存储迭代过程中产生的结果
- 循环Tx遍(训练过程) 循环Ty遍(预测过程)
- 将结果存入结果列表中
- 获取参数的规格
-
参考
-
生成音乐作业中,out、x、x(one-hot) 对应输出的值
![]()
-
-
通过阅读上面⬆️博文,自己的理解
- 三维向量中(a,b,c)
- axis=0:同一位置不同块之间的比较 (b,c)
- axis=1:同一片内(二维数组内)每一列的比较(a,c)
- axis=2(-1):同一个向量内比较(a,b)
- 三维向量中(a,b,c)
-
坚持学习,坚持记录Simbanana


浙公网安备 33010602011771号