RNN层在keras

时间:2017-10-29 01:14:56

标签: deep-learning keras recurrent-neural-network

我现在正在使用RNN层对输入文档进行编码,如下所示。但我不确定为什么RNN层无法检测输入序列长度?所以我认为最后p的形状应该是(?, doc_maxlen, rnn_h_size)而不是(?, ?, rnn_h_size)。哪里错了?

rnn_h_size = 10
embd_size = 100
doc_maxlen= 10418
doc = Input((doc_maxlen,), name='Doc_Input')
embd_layer = Embedding(input_dim=vocab_size, output_dim=embd_size)
embd_doc = embd_layer(doc) # (?, doc_maxlen, embd_size)
p =GRU(rnn_h_size, return_sequences=True)(embd_doc) # (?, ?, 10), why not (?, doc_maxlen, rnn_h_size)?

1 个答案:

答案 0 :(得分:0)

如果您致电model.summary(),您会看到想要查看的尺寸。

即使在keras中支持可变长度,并且在长度维度的摘要中None也不会改变模型的工作方式(如果您不打算使用)改变这个维度的图层)。

示例:

from keras.models import Model
model = Model(doc,p)
model.summary()