concat = concatenate([lstm_out1,lstm_out2]) # 定义模型 output = Dense(units=5)(concat) #model = Model(inputs=[input_data1, input_data2], outputs=output) #model = Model(inputs=[input_data1,input_data2], outputs=concat) embedding = Embedding(input_dim=10000, output_dim=300, mask_zero=True)(output) bidirectional = Bidirectional(LSTM(units=32, return_sequences=True))(embedding) dense1 = Dense(units=32)(bidirectional) dense2 = Dense(units=5)(dense1) 中embedding现在是dim4输出,如何改为dim 是3
时间: 2024-01-07 12:04:23 浏览: 141
wm_concat函数所需资源包
根据你提供的代码,我可以看到你的模型使用了两个 LSTM 层,然后连接起来,形成了一个 dim 为 3 的张量。然后你将这个张量输入到一个全连接层中,得到了一个 dim 为 2 的张量,然后再将它输入到 Embedding 层中,导致了 dim 的变化。
如果你希望 Embedding 层的输出维度为 3,你可以将其输入改为 LSTM 层的输出,而不是全连接层的输出。具体地,在定义模型时,将以下代码:
```
output = Dense(units=5)(concat)
embedding = Embedding(input_dim=10000, output_dim=300, mask_zero=True)(output)
```
修改为:
```
embedding = Embedding(input_dim=10000, output_dim=300, mask_zero=True)(concat)
```
这样,Embedding 层的输入就是 LSTM 层的输出,维度为 3,而不是全连接层的输出,维度为 2。这可以确保输出的维度为 3,而不是 4。
阅读全文