繁体   English   中英

Tensorflow RNN如何创建具有各种批处理大小的零状态?

[英]Tensorflow RNN how to create zero state with various batch size?

在此问题中, 当state_is_tuple = True时如何设置TensorFlow RNN状态? :接受的答案将初始化初始状态,如下所示:

state_placeholder = tf.placeholder(tf.float32, [num_layers, 2, batch_size, state_size])

我假设这需要特定的批次大小,而我现在拥有的是:

inputSeq = tf.placeholder(tf.float32, [None, seqLength, observationDim], name='input_seq')
outputs, final_state = tf.nn.dynamic_rnn(cell, inputSeq, initial_state=initialState)

我希望这个initialState为零状态,并且可以配置,因为inputSeq的批处理大小可能会有所不同。 但是, cell.zero_state不接受None作为批处理大小。 有什么解决方法吗?

cell.zero_state接受标量张量。

通过tf.shape获得占位符的批量大小,然后完成: B = tf.shape(state_placeholder)[0] # the batch size scalar tensor initial_state = cell.zero_state(B)

暂无
暂无

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

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