TensorFlow函數(shù)教程:tf.nn.static_bidirectional_rnn

2019-02-12 17:52 更新

tf.nn.static_bidirectional_rnn函數(shù)

別名:

  • tf.contrib.rnn.static_bidirectional_rnn
  • tf.nn.static_bidirectional_rnn
tf.nn.static_bidirectional_rnn(
    cell_fw,
    cell_bw,
    inputs,
    initial_state_fw=None,
    initial_state_bw=None,
    dtype=None,
    sequence_length=None,
    scope=None
)

定義在:tensorflow/python/ops/rnn.py。

創(chuàng)建雙向遞歸神經(jīng)網(wǎng)絡(luò)。

類似于上面的單向情況(rnn)但是接受輸入并構(gòu)建獨(dú)立的前向和反向RNN,最終的前向和反向輸出深度級(jí)聯(lián),這樣輸出將具有格式[time] [batch] [cell_fw.output_size + cell_bw .output_size。前向和反向單元的input_size必須匹配。默認(rèn)情況下,兩個(gè)方向的初始狀態(tài)為零(但可以選擇設(shè)置),并且不會(huì)返回任何中間狀態(tài) - 如果給定序列的長(zhǎng)度,網(wǎng)絡(luò)完全展開,如果沒(méi)有給定長(zhǎng)度,則不展開。

參數(shù):

  • cell_fw:RNNCell的一個(gè)實(shí)例,用于前向。
  • cell_bw:RNNCell的一個(gè)實(shí)例,用于反向。
  • inputs:輸入的長(zhǎng)度為T的列表,每個(gè)輸入都是一個(gè)shape為[batch_size,input_size]的張量,或這些元素的嵌套元組。
  • initial_state_fw:(可選)前向RNN的初始狀態(tài)。這必須是具有適當(dāng)類型和shape為[batch_size, cell_fw.state_size]的張量。如果cell_fw.state_size是一個(gè)元組,這應(yīng)該是具有shape為[batch_size, s]的張量元組,其中s來(lái)自cell_fw.state_size。
  • initial_state_bw:(可選)與initial_state_fw相同,但使用cell_bw的相應(yīng)屬性。
  • dtype:(可選)初始狀態(tài)的數(shù)據(jù)類型。如果未提供任何初始狀態(tài),則為必需。
  • sequence_length:(可選)int32或int64向量,大小為[batch_size],包含每個(gè)序列的實(shí)際長(zhǎng)度。
  • scope:用于創(chuàng)建子圖的VariableScope;默認(rèn)為“bidirectional_rnn”

返回:

元組(outputs,output_state_fw,output_state_bw)其中:

outputs是長(zhǎng)度為T的輸出列表(每個(gè)輸入一個(gè)),它們是深度級(jí)聯(lián)的前向和反向輸出。output_state_fw是前向rnn的最終狀態(tài)。output_state_bw是反向rnn的最終狀態(tài)。

可能引發(fā)的異常:

  • TypeError:如果cell_fw或cell_bw不是RNNCell的實(shí)例。
  • ValueError:如果輸入為None或空列表。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)