如何修复ValueError:太多值无法解包?蟒蛇

时间:2019-09-13 08:41:09

标签: python machine-learning lstm

lstm_layer = tf.keras.layers.LSTM(256, return_sequences=True,return_state=True)

bilstm1,state_h1,state_c1 = tf.keras.layers.Bidirectional(lstm_layer, name="BiLSTM1", merge_mode="concat")(reshape)
bilstm2,state_h2,state_c2 = tf.keras.layers.Bidirectional(lstm_layer, name="BiLSTM2", merge_mode='concat')(bilstm1)

但是

bilstm1,state_h1,state_c1 = tf.keras.layers.Bidirectional(lstm_layer, name="BiLSTM1", merge_mode="concat")(reshape)
ValueError: too many values to unpack (expected 3)

1 个答案:

答案 0 :(得分:0)

如果您只关心前3个项目,并且想忽略其余项目,则可以执行以下操作:

bilstm1, state_h1, state_c1, *_ = tf.keras.layers.Bidirectional(lstm_layer, name="BiLSTM1", merge_mode="concat")(reshape)

很有可能,其他行也需要进行此类更改。

不用说,如果正确的操作数分解成少于3个项目,您仍然会报错。