gpt4 book ai didi

python - 当我将 lstm 作为多维数组输入时会发生什么?

转载 作者:太空宇宙 更新时间:2023-11-04 04:43:15 28 4
gpt4 key购买 nike

我像这样从 tensorflow 创建 lstm 模型

model.add(LSTM(6, input_shape=(1, 6), return_sequences=True))
model.add(LSTM(3))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam' )
model.fit(X_train_t, y_train, epochs=200, batch_size=3, verbose=1)

X_train_t的值为

[[ 0.46412556  0.24775785  0.20179372  0.23430493  0.16704036  0.24215247]
[ 0. 0.46412556 0.24775785 0.20179372 0.23430493 0.16704036]
[ 0.15022422 0. 0.46412556 0.24775785 0.20179372 0.23430493]
[ 0.2690583 0.15022422 0. 0.46412556 0.24775785 0.20179372]
[ 0.2690583 0.2690583 0.15022422 0. 0.46412556 0.24775785]
[ 0.24775785 0.2690583 0.2690583 0.15022422 0. 0.46412556]
[ 0.21076233 0.24775785 0.2690583 0.2690583 0.15022422 0. ]
...

它没有错误,但我不明白。 LSTM 得到的输入是时间序列,并在一个节点中循环。

enter image description here

为什么我输入多维数组没有报错我觉得正确的输入应该是这样的。 lstm如何获得输入?

[[ 0.24215247]
[ 0.16704036]
[ 0.23430493]
...

最佳答案

LSTM 接受输入向量,而不是数字。您指定的输入形状:

input_shape=(1, 6)

所以 6 维向量,这正是你在每个时间步中输入的内容:

[ 0.46412556  0.24775785  0.20179372  0.23430493  0.16704036  0.24215247]

因此具有 3 个时间步长的输入序列将看起来像这样:

[[ 0.46412556  0.24775785  0.20179372  0.23430493  0.16704036  0.24215247]
[ 0. 0.46412556 0.24775785 0.20179372 0.23430493 0.16704036]
[ 0.15022422 0. 0.46412556 0.24775785 0.20179372 0.23430493]]

(3 个向量,每 6 个维度)

关于python - 当我将 lstm 作为多维数组输入时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50163817/

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