gpt4 book ai didi

python - 如何制作与 CNN 具有相同输入的 RNN?

转载 作者:太空宇宙 更新时间:2023-11-04 02:29:27 25 4
gpt4 key购买 nike

我有一个可以使用文本的 cnn我的 X_train 的形状是 (39971, 10000) , y_train: (39971, 4)

max_words = 10000

model = Sequential()
model.add(Dense(512, input_shape=(max_words,), activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(256, activation='sigmoid'))
model.add(Dropout(0.5))
model.add(Dense(4, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

到目前为止,这是可行的。 这就是我尝试制作 RNN 的方式:

model = Sequential()
model.add(Embedding(max_words, 128))
model.add(LSTM(64, return_sequences=True, dropout=0.5, recurrent_dropout=0.5))
model.add(Dense(4, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

我可以编译模型,但是当我尝试使用我的训练数据运行 model.fit 时,出现错误:ValueError:检查目标时出错:预期 dense_42 具有 3 个维度,但得到形状为 (39971, 4) 的数组这是什么意思?我该如何解决这个问题?

作为this建议我可能需要添加 input_shape 但我不确定使用什么值。

最佳答案

LSTM 层当前正在返回完整序列,因此网络输出的形状为 (batch_size, nb_timesteps, 4)。我假设您只想使用最后一个 LSTM 输出。如果是这种情况,请设置 return_sequences=False

关于python - 如何制作与 CNN 具有相同输入的 RNN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49557761/

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