簡體   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