最后一层LSTM为什么不用设置return_sequences=True
来源:5-7 编写整个神经网络模型
追梦逐梦白日做梦
2018-02-03
如果我要给一句话做标注的话,是不是需要将最后一层的return_sequences设置为True,还有
model.add(tf.keras.layers.LSTM( 512, # 输出的维度 input_shape=(inputs.shape[1], inputs.shape[2]), # 输入的形状 return_sequences=True # 返回 Sequences(序列) ))
这样的一层,每个time_step输出的是一个512维的tensor吗?然后当return_sequences=True时,就会把sequence_length个512维的tensors作为输出吗?
写回答
1回答
-
model.add(tf.keras.layers.LSTM( 512, # LSTM 层神经元的数目是 512,也是 LSTM 层输出的维度 input_shape=(inputs.shape[1], inputs.shape[2]), # 输入的形状,对第一个 LSTM 层必须设置 # return_sequences:控制返回类型 # - True:返回所有的输出序列 # - False:返回输出序列的最后一个输出 # 在堆叠 LSTM 层时必须设置,最后一层 LSTM 可以不用设置 return_sequences=True # 返回所有的输出序列(Sequences) ))
最后一层不用设置 return_sequences,就会是默认的 False,表示 只返回序列的最后一个。
model.add(tf.keras.layers.LSTM(512)) # return_sequences 是默认的 False,只返回输出序列的最后一个
012018-03-04
相似问题