gpt4 book ai didi

audio - CNN之后的LSTM如何馈入以及什么维度(输入大小)?

转载 作者:行者123 更新时间:2023-12-02 22:36:35 36 4
gpt4 key购买 nike

我正在尝试构建一个卷积循环网络,该网络采用 32000 x 1 原始音频时间序列的固定输入大小。它只是一个长度为 32000 的 numpy 数组。因此,例如,如果我们的批量大小为 1,我的尺寸将是

torch.size([1,32000,1])

1个音频时间序列,长度32000,1 channel

我不得不 reshape 它
torch.size([1,1,32000])

这样它就可以被送入卷积层

当这被输入卷积/池化层时,我的尺寸变化如下
torch.Size([1, 1, 32000])
torch.Size([1, 64, 7981])
torch.Size([1, 64, 1995])
torch.Size([1, 64, 1993])
torch.Size([1, 64, 498])
torch.Size([1, 128, 496])
torch.Size([1, 128, 494])
torch.Size([1, 128, 123])
torch.Size([1, 256, 121])
torch.Size([1, 256, 119])
torch.Size([1, 256, 29])
torch.Size([1, 512, 27])
torch.Size([1, 512, 25])
torch.Size([1, 512, 6])

所以在最后的最大池化层之后,数据的大小是
torch.Size([1, 512, 6])

我该如何处理这个输出并将其带入 LSTM?

我们如何将这个结果输入 LSTM?它会涉及从最后一个最大池化层中压平我们的输出吗?或者 LSTM 的输入大小是 512 还是 6?

请指教,谢谢。

LSTM 期望 3D 输入形状为 #Samples(音频时间序列)、#Time step (32000)、# features

最佳答案

在这里在 CNN 之上添加 LSTM 是没有意义的。您已经使用 CNN 来学习基于时间维度的特征,因此在顶部使用 LSTM 来尝试学习表示随时间变化的关系的 CNN 特征随时间变化的关系是没有意义的。

当您使用 CNN 学习空间维度时,您在 CNN 之上使用 LSTM,然后使用 LSTM 学习时间维度。例如视频分类,您可以使用 CNN 从每个图像中学习特征,然后使用 LSTM 将这些特征作为输入并随着时间的推移学习特征。

关于audio - CNN之后的LSTM如何馈入以及什么维度(输入大小)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57930495/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com