当我在代码中多次使用tf.nn.dynamic_rnn()
时,
ValueError:尺寸必须相等,但对于80和90 具有输入形状的'..scope1 / rnn / while / gru_cell / MatMul_4'(op:'MatMul'): [50,80],[90,80]。'
发生。
我的代码段是:
gru = tf.contrib.rnn.GRUCell(d)
with tf.variable_scope('scope1'):
_, outputs_1 = tf.nn.dynamic_rnn(gru, inputs, dtype=tf.float32) # inputs:[N, L, V]
with tf.variable_scope('scope2'):
outputs_2 = somefunc(outputs_1)
with tf.variable_scope('scope3'):
_, outputs_3 = tf.nn.dynamic_rnn(gru, outputs_2, dtype=tf.float32) outputs_2:[N, L, d]
如果我将d设置为不等于V,则运行代码将引发上面的错误。如果d等于V,则没有问题。为什么?这两个tf.nn.dynamic_rnn()不直接堆叠。它们应该彼此独立。