请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

SpeechCommandModel的输入不是很懂

怎么用FC模型中的参数理解这个RNN模型中的输入?
batch里样本是(mel, cls_id)形式,mel是一个data_point_dim * sequence_length的矩阵,那是说输入的x有data_point_dim个特征,每个特征又是一个sequence_length维的向量吗?

正在回答 回答被采纳积分+3

1回答

Markov_Xi 2022-09-01 11:42:10

同学你好,输入是一个3D的tensor, 原始的的特征是[batch, sequence_len, mel_dim], 其中,batch指的是batch size, sequence len指的是求得的mel特征的时间维度,其实就是短时傅里叶的帧数目,mel_dim是mel谱的维度,比如一般是40, 80。可以看见在forward进来的时候,我做了一次permute(1, 0, 2), 那么就变成[sequence_len,batch, mel_dim], 原因是torch的rnn有个参数设置batch_first默认是false,就是说你要把batch这个维度放在第二个dim, 所以要做这个变换操作。这样的目的是torch为了获得最好的运行性能

1 回复 有任何疑惑可以回复我~
  • 提问者 慕仔7595201 #1
    老师,我可以理解为:当batch=1的时候,每次送入的xi,是mel中的一个有40维特征的数据点,下一次的输入x(i+1)是mel的下一个数据点。总共要输入mel的sequence_len次,才算是输入完了一个音频文件的数据吗?
    回复 有任何疑惑可以回复我~ 2022-09-07 21:00:44
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号