創建由 RNNCell cell
指定的循環神經網絡。 (已棄用)
用法
tf.compat.v1.nn.static_rnn(
cell, inputs, initial_state=None, dtype=None, sequence_length=None, scope=None
)
參數
-
cell
RNNCell 的一個實例。 -
inputs
一個長度為 T 的輸入列表,每個輸入都是一個形狀為[batch_size, input_size]
的Tensor
或此類元素的嵌套元組。 -
initial_state
(可選)RNN 的初始狀態。如果cell.state_size
是整數,則它必須是具有適當類型和形狀的Tensor
[batch_size, cell.state_size]
。如果cell.state_size
是一個元組,這應該是一個具有形狀[batch_size, s] for s in cell.state_size
的張量的元組。 -
dtype
(可選)初始狀態和預期輸出的數據類型。如果未提供 initial_state 或 RNN 狀態具有異構 dtype,則為必需。 -
sequence_length
指定輸入中每個序列的長度。一個 int32 或 int64 向量(張量)大小[batch_size]
,值在[0, T)
。 -
scope
創建的子圖的變量範圍;默認為"rnn"。
返回
-
一對(輸出,狀態),其中:
輸出是一個長度為 T 的輸出列表(每個輸入一個),或這些元素的嵌套元組。
state 是最終狀態
拋出
-
TypeError
如果cell
不是 RNNCell 的實例。 -
ValueError
如果inputs
是None
或空列表,或者無法通過形狀推斷從輸入推斷輸入深度(列大小)。
警告:此函數已棄用。它將在未來的版本中刪除。更新說明:請使用keras.layers.RNN(cell, unroll=True)
,相當於這個API
生成的最簡單的 RNN 網絡形式是:
state = cell.zero_state(...)
outputs = []
for input_ in inputs:
output, state = cell(input_, state)
outputs.append(output)
return (outputs, state)
但是,還有一些其他選項可用:
可以提供初始狀態。如果提供了sequence_length向量,則進行動態計算。這種計算方法不會計算超過 minibatch 的最大序列長度的 RNN 步長(從而節省計算時間),並以示例的序列長度正確地將狀態傳播到最終狀態輸出。
執行的動態計算是,在時間 t
為批次行 b
,
(output, state)(b, t) =
(t >= sequence_length(b))
? (zeros(cell.output_size), states(b, sequence_length(b) - 1))
:cell(input(b, t), state(b, t - 1))
相關用法
- Python tf.compat.v1.nn.sufficient_statistics用法及代碼示例
- Python tf.compat.v1.nn.separable_conv2d用法及代碼示例
- Python tf.compat.v1.nn.safe_embedding_lookup_sparse用法及代碼示例
- Python tf.compat.v1.nn.sampled_softmax_loss用法及代碼示例
- Python tf.compat.v1.nn.sigmoid_cross_entropy_with_logits用法及代碼示例
- Python tf.compat.v1.nn.dynamic_rnn用法及代碼示例
- Python tf.compat.v1.nn.embedding_lookup_sparse用法及代碼示例
- Python tf.compat.v1.nn.depthwise_conv2d_native用法及代碼示例
- Python tf.compat.v1.nn.weighted_cross_entropy_with_logits用法及代碼示例
- Python tf.compat.v1.nn.depthwise_conv2d用法及代碼示例
- Python tf.compat.v1.nn.convolution用法及代碼示例
- Python tf.compat.v1.nn.conv2d用法及代碼示例
- Python tf.compat.v1.nn.nce_loss用法及代碼示例
- Python tf.compat.v1.nn.pool用法及代碼示例
- Python tf.compat.v1.nn.ctc_loss用法及代碼示例
- Python tf.compat.v1.nn.rnn_cell.MultiRNNCell用法及代碼示例
- Python tf.compat.v1.nn.erosion2d用法及代碼示例
- Python tf.compat.v1.nn.raw_rnn用法及代碼示例
- Python tf.compat.v1.nn.dilation2d用法及代碼示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.nn.static_rnn。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。