代码:
<div align="center">put the bokeh plot here</div>
错误:
import tensorflow as tf
from tensorflow.python.ops import rnn_cell
cell = rnn_cell.LSTMCell(64, state_is_tuple=True)
multi_layer_cell = tf.nn.rnn_cell.MultiRNNCell([cell for i in range(2)])
x = tf.placeholder("float", [None, 10, 1])
output, state = tf.nn.dynamic_rnn(multi_layer_cell, x, dtype = tf.float32)
版本: Tensorflow 1.2.1 Python 3.5.4
此处的变体似乎不起作用:ValueError: Trying to share variable rnn/multi_rnn_cell/cell_0/basic_lstm_cell/kernel
答案 0 :(得分:0)
问题是您要创建一个重复两次的相同对象的列表
mHelper = new IabHelper(this, getResources().getString(R.string.launch));
mHelper.enableDebugLogging(true, "Proc");
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
if (!result.isSuccess()) {
// Do nothing
} else {
mHelper.queryInventoryAsync(mGotInventoryListener);
}
}
});
单元不仅为多层单元指定参数,还直接使用对象。但是,对于您的神经网络,您的第一个单元将映射大小为1到64的输入,然后第二个单元将映射到64到64。
您看到的形状是每个单元格的内核大小,至少应该是它们的大小。 LSTM内核可以看成大小n + m x 4m,其中n是输入大小,m是状态大小。因子4来自以下事实:有4个门需要矩阵权重。 n + m来自将输入->栅极过渡堆叠在状态->栅极过渡之上。例如,在您的第一个单元格中,n = 1且m = 64,因此您看到大小为(65,256),这显然不适用于需要大小为(128,256)内核的第二个单元格(因为64 + 64 = 128而不是65)。
要解决此问题,只需制作两个不同的单元格对象:
multi_layer_cell = tf.nn.rnn_cell.MultiRNNCell([cell for i in range(2)])