gpt4 book ai didi

python - 在 Keras 中,如何为 LSTM 层获取 3D 输入和 3D 输出

转载 作者:太空狗 更新时间:2023-10-29 21:11:34 24 4
gpt4 key购买 nike

在我的原始设置中,我得到了

X1 = (1200,40,1)
y1 = (1200,10)

然后,我可以完美地使用我的代码:

model = Sequential()
model.add(LSTM(12, input_shape=(40, 1), return_sequences=True))
model.add(LSTM(12, return_sequences=True))
model.add(LSTM(6, return_sequences=False))
model.add((Dense(10)))

现在,我进一步得到了另一个与X1y1 大小相同的时间序列数据。即,

X2 = (1200,40,1)
y2 = (1200,10)

现在,我将 X1X2y1y2 堆叠为 3D 数组:

X_stack = (1200,40,2)
y_stack = (1200,10,2)

然后,我尝试修改我的 keras 代码:

model = Sequential()
model.add(LSTM(12, input_shape=(40, 2), return_sequences=True))
model.add(LSTM(12, return_sequences=True))
model.add(LSTM(6, return_sequences=False))
model.add((Dense((10,2))))

我希望我的代码直接使用 3D 数组 X_stacky_stack,而不将它们 reshape 为 2D 数组。你能告诉我如何修改设置吗?谢谢。

最佳答案

我假设您为阵列报告的形状中某处存在错误。我猜 y_stack.shape == (1200, 10, 2),对吗?

但是,这里有一种方法可以执行您所描述的操作:

model = Sequential()
model.add(LSTM(12, input_shape=(40, 2), return_sequences=True))
model.add(LSTM(12, return_sequences=True))
model.add(LSTM(6, return_sequences=False))
model.add(Dense(10 * 2))
model.add(Reshape((10, 2)))

网络的输出由 Dense 层创建为 2D 张量,然后由 Reshape reshape 为 3D 张量。从输入输出的角度来看,这应该像您指定的那样。

关于python - 在 Keras 中,如何为 LSTM 层获取 3D 输入和 3D 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56255643/

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