gpt4 book ai didi

deep-learning - 如何在 PyTorch 中实现时间分布密集 (TDD) 层

转载 作者:行者123 更新时间:2023-12-03 23:48:05 45 4
gpt4 key购买 nike

在一些分析时间数据(例如音频或视频)的深度学习模型中,我们使用“时间分布密集”(TDD) 层。这创建的是一个完全连接(密集)层,它单独应用于每个时间步长。

在 Keras 中,这可以使用 TimeDistributed wrapper 来完成,这实际上稍微更一般。在 PyTorch 中它是 an open feature request几年了。

我们如何在 PyTorch 中手动实现时间分布密集

最佳答案

特别针对时间分布密集(而不是时间分布任何其他),我们可以通过使用卷积层来破解它。

查看您显示的 TDD 层图表。我们可以将其重新想象为一个卷积层,其中卷积核的“宽度”(及时)恰好为 1,“高度”与张量的整个高度相匹配。如果我们这样做,同时还要确保我们的内核不允许超出张量的边缘,它应该可以工作:

self.tdd = nn.Conv2d(1, num_of_output_channels, (num_of_input_channels, 1))

您可能需要重新排列张量轴。这行代码的“输入 channel ”实际上来自张量的“频率”轴(“图像的 y 轴”),而“输出 channel ”确实会排列在“ channel ”轴上。 (输出的“y 轴”将是高度为 1 的单一维度。)

关于deep-learning - 如何在 PyTorch 中实现时间分布密集 (TDD) 层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61372645/

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