首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在LSTM中为每个输入生成1个以上的输出?

如何在LSTM中为每个输入生成1个以上的输出?
EN

Stack Overflow用户
提问于 2018-08-08 00:35:47
回答 1查看 143关注 0票数 1

假设这是我的模型:

代码语言:javascript
复制
_________________________________________________________________ 
Layer (type)                 Output Shape              Param #    ================================================================= 
embedding_16 (Embedding)     (None, 10, 500)          71500      _________________________________________________________________ 
lstm_31 (LSTM)               (None, 10, 500)          2002000    _________________________________________________________________ 
dropout_15 (Dropout)         (None, 10, 500)          0          _________________________________________________________________ 
time_distributed_16          (None, 10, 500)          250500    _________________________________________________________________ 
softmax (Activation)         (None, 10, 500)           0     =================================================================

但我想在我的最后一层:

代码语言:javascript
复制
softmax (Activation)         (None, 100, 1000)           0

我已经尝试了几个小时了。我不知道这是不是可能。我不认为你可以改变LSTM的输出大小(看看它的模型),但是有没有一个我可以添加的层,这样它就可以为每个输入生成10个输出?

简单地说,假设我想让我的模型为我输入的每个单词生成10个单词。我希望我能解释清楚。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-08 05:05:12

这里有不同的方式来看待“多个输出”(通过“这里”,我猜测您正在使用keras库-从打印输出看似乎是这样)。

在一个简单的例子中,拥有Dense(10)层就可以解决这个问题。在这篇SO post中解释了使用TimeDistributed层包装器的“秘密武器”。

另一种方法需要使用keras的函数式API。在docs中解释了如何获得多个输出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51731587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档