使用以下配置为BasicLSTM单元格:
...
num_layers = 2
num_steps = 10
hidden_size = 200
...
Run Code Online (Sandbox Code Playgroud)
我使用2隐藏层模型:
lstm_cell = rnn_cell.BasicLSTMCell(hidden_size, forget_bias=0.0)
cell = rnn_cell.MultiRNNCell([lstm_cell] * 2)
Run Code Online (Sandbox Code Playgroud)
什么是cell.state_size?
我得到了30 x 800,但我无法理解它是怎么回事?
PS:请参阅https://github.com/tensorflow/tensorflow/blob/97f585d506cccc57dc98f234f4d5fcd824dd3c03/tensorflow/python/ops/rnn_cell.py#L353中的源代码
它似乎回归statesize了2 * unitsize.但为什么州的规模应该是单位面积的两倍?
在测试了【babi_rnn.py】和【babi_memnn.py】的脚本后,【如何确定使用哪种Merge模式(add/average/multiply/dot/concat)?】的问题在我脑海中浮现了很多次。
例如,对于 LSTM 建模,使用 [concat] 合并假设两个分支的时间序列层输出似乎很容易理解。
但是,我不太容易理解为什么要使用[add] 来合并[babi_rnn.py] 中的两个分支。在 [babi_memnn.py] 中,招募了 [add]、[dot] 和 [concat] 合并模式。
那么,对于不同的使用场景,选择使用哪个合并功能有什么建议吗?