LSTM及GRU整理。
- LSTM
"""
Kears LSTM API 中给出的两个参数描述
return_sequences:默认 False。在输出序列中,返回单个 hidden state值还是返回全部time step 的 hidden state值。 False 返回单个, true 返回全部。
return_state:默认 False。是否返回除输出之外的最后一个状态。
1.return_sequences=False && return_state=False
h = LSTM(X)
Keras API 中,return_sequences和return_state默认就是false。此时只会返回一个hidden state 值。如果input 数据包含多个时间步,则这个hidden state 是最后一个时间步的结果
2.return_sequences=True && return_state=False
h = LSTM(X)
输出的hidden state 包含全部时间步的结果。
3.return_sequences=False && return_state=True
lstm1, state_h, state_c = LSTM(1, return_state=True)
lstm1 和 state_h 结果都是 hidden state。在这种参数设定下,它们俩的值相同。都是最后一个时间步的 hidden state。 state_c 是最后一个时间步 cell state结果。
4.return_sequences=True && return_state=True
lstm1, state_h, state_c = LSTM(1, return_sequences=True, return_state=True)
lstm1 存放的就是全部时间步的 hidden state,state_h 存放的是最后一个时间步的 hidden state,state_c 存放的是最后一个时间步的 cell state
"""
- GRU