繁体   English   中英

适用于4-D张量的TensorFlow LSTM

[英]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_loopdynamic_rnnmap_fn都在while_loop运行while_loop ),还是有一种解决方法?

TensorFlow 1.6已解决此问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM