gpt4 book ai didi

machine-learning - 如何在Keras中不输出 `TimeDistributed`层的序列?

转载 作者:行者123 更新时间:2023-11-30 08:49:32 29 4
gpt4 key购买 nike

我目前正在使用 Keras 开发 LSTM,并且对 TimeDistributed 层有疑问。

假设我有一个 TimeDistributed 层,它接受诸如 (batch_size,timesteps,num_features1) 之类的输入。它将输出类似(batch_size,timesteps,num_features2)的内容。

我想输出类似(batch_size,num_features2)的内容。这可能吗?

这将是将 return_sequence = True 的 LSTM 层堆叠到密集层(使用 TimeDistributed 层),然后返回到“经典”密集层,接受像 (batch_size,nb_features) 这样的输入。

提前致谢!

贝努瓦

最佳答案

我不确定是否完全理解您想要什么,因此我将在这里放置一个我认为是您想要的网络。如果不是,请使用您想要的网络草稿和每个步骤的形状来编辑您的问题。也更容易知道您想通过这个网络实现什么目标。

model = sequential()
# shape = (None,timesteps, num_feat1)
model.add(TimeDistributed(Dense(num_feat2))
# shape = (None,timesteps, num_feat2)
model.add(LSTM(1, return_sequence=True))
# shape = (None, timesteps, 1)
model.add(Flatten())
# shape = (None, timesteps)
model.add(Dense(num_outputs_desired))
# shape = (None, outputs)

这就是你想要的吗? (1) 使用密集层时间分布在每个时间步上平等地转换初始特征,(2) 使用 lstm 处理序列,在每个步骤返回 1 个值,(3) 使用密集层将值序列转换为所需的输出(我不知道它应该如何,你的模型的目标是什么?)。

关于machine-learning - 如何在Keras中不输出 `TimeDistributed`层的序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42582484/

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