我目前正在构建一个模型,该模型遵循了许多项目中使用的步骤,但我有一个问题,即需要解包的值太多,这是
下面的代码encoder_inputs = Input(shape=(20,))
en_x= Embedding(self.sequence_length, self.embedding_dim)(encoder_inputs)
encoder = Bidirectional(LSTM(200, return_state=True))
encoder_outputs, state_h, state_c = encoder(en_x)
encoder_states = [state_h, state_c]
decoder_inputs = Input(shape=(None,))
dex= Embedding(self.sequence_length, self.embedding_dim)
final_dex= dex(decoder_inputs)
这是模型拟合函数
model.fit(self.train_x, self.train_y,
epochs=self.epochs,
batch_size=self.batch_size,
sample_weight=self.train_mask,
shuffle=True,
callbacks=[early_stopping, checkpoint],
validation_data=(self.val_x, self.val_y, self.val_mask))
和我得到这个错误
177 en_x= Embedding(self.sequence_length, self.embedding_dim)(encoder_inputs)
178 encoder = Bidirectional(LSTM(200, return_state=True))
--> 179 encoder_outputs, state_h, state_c = encoder(en_x)
180 encoder_states = [state_h, state_c]
181
ValueError: too many values to unpack (expected 3)
thanks in advance
encoder_outputs, state_h, state_c = encoder(en_x)
这段代码期望encoder(en_x)
返回一个包含三个值的序列。但是它返回的值大于这个值,这就导致了错误。
您没有显示该函数的代码,因此我无法提供任何进一步的解释。