[英]TensorFlow LSTM for 4-D Tensor
如果我有一个形状为[None, None, None, 10]
,我想做下面的事情,
input = tf.placeholder([None, None, None, 10], dtype=tf.float32)
length = tf.placeholder([None, None], dtype=tf.int32)
cell = tf.nn.rnn_cell.BasicLSTMCell(num_units=10)
def fn(inp):
output, _ = tf.dynamic_rnn(cell, inp[0], sequence_length=inp[1])
return output
tf.map_fn(fn, (input, length), dtype=tf.float32)
但这不适用于自动梯度推导,它会产生如下错误,
Cannot use 'XXX' as input to 'gradients/YYY/while/TensorArrayWrite/TensorArrayWriteV3_grad/TensorArrayReadV3/f_acc'
because 'XXX' is in a while loop.
这是TensorFlow
的局限性吗?它不能处理嵌套的while_loop
( dynamic_rnn
和map_fn
都在while_loop
运行while_loop
),还是有一种解决方法?
TensorFlow 1.6已解决此问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.