gpt4 book ai didi

python - 设置 LSTM 层的初始状态

转载 作者:行者123 更新时间:2023-12-03 23:51:25 27 4
gpt4 key购买 nike

我有以下代码:

units = 1024
lstm_layer = tf.keras.layers.LSTM(units)

dim = tf.zeros([64,1024])

output, hidden = lstm_layer(embedded_data, initial_state = dim)

我收到以下错误消息:
ValueError: An `initial_state` was passed that is 
not compatible with `cell.state_size`.
Received `state_spec`=
ListWrapper([InputSpec(shape=(64, 1024), ndim=2)]);
however `cell.state_size` is [1024, 1024]

当我使用 GRU 单元而不是 LSTM 单元执行此操作时,它工作正常。但是对于 LSTM 单元,此代码不起作用。我意识到 LSTM 需要两个参数,因此代码要求 [1024,1024] 的单元格状态,但我不知道如何设置初始状态。我试过
initial_state = [dim, dim] 

这也不起作用,因为它给了我
ValueError: too many values to unpack (expected 2).

我引用了 LSTM Initial state from Dense layer但似乎并没有解决我的问题...

最佳答案

如果有人需要解决此问题,以供将来引用:
问题是输出。只是使用 tf.zeros([64,1024])工作正常,您只需要三个输出:

output, hidden_h,hidden_c = lstm_layer(embedded_data, initial_state = [dim,dim])

关于python - 设置 LSTM 层的初始状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57123198/

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