用法:
class mxnet.gluon.rnn.RNN(hidden_size, num_layers=1, activation='relu', layout='TNC', dropout=0, bidirectional=False, i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', input_size=0, dtype='float32', **kwargs)
- hidden_size:(
int
) - 隱藏狀態 h 的特征數量。 - num_layers:(
int
,
default 1
) - 循環層數。 - activation:(
{'relu'
or
'tanh'}
,
default 'relu'
) - 要使用的激活函數。 - layout:(
str
,
default 'TNC'
) - 輸入和輸出張量的格式。 T、N 和 C 分別代表序列長度、批量大小和特征維度。 - dropout:(
float
,
default 0
) - 如果非零,則在除最後一層之外的每個 RNN 層的輸出上引入一個 dropout 層。 - bidirectional:(
bool
,
default False
) - 如果True
, 成為一個雙向 RNN。 - i2h_weight_initializer:(
str
or
Initializer
) - 輸入權重矩陣的初始化器,用於輸入的線性變換。 - h2h_weight_initializer:(
str
or
Initializer
) - 循環權重矩陣的初始化器,用於循環狀態的線性變換。 - i2h_bias_initializer:(
str
or
Initializer
) - 偏置向量的初始化器。 - h2h_bias_initializer:(
str
or
Initializer
) - 偏置向量的初始化器。 - input_size:(
int
,
default 0
) - 輸入 x 中預期特征的數量。如果未指定,將從輸入推斷。 - dtype:(
str
,
default 'float32'
) - 類型初始化參數和默認狀態為 - prefix:(
str
or
None
) - 這個前綴Block
. - params:(
ParameterDict
or
None
) - 為此共享參數Block
.
- hidden_size:(
參數:
基礎:
mxnet.gluon.rnn.rnn_layer._RNNLayer
將具有
tanh
或ReLU
非線性的多層 Elman RNN 應用於輸入序列。對於輸入序列中的每個元素,每一層計算以下函數:
其中
t
的隱藏狀態,而 是第一層時間t
或 的前一層的輸出。如果非線性='relu',則使用ReLU
而不是tanh
。 是時間- 輸入:
- data:: 輸入帶形狀的張量
(sequence_length, batch_size, input_size)
當layout
是“TNC”。對於其他布局,使用 transpose() 運算符相應地排列尺寸,這會增加性能開銷。考慮在數據批處理步驟中在 TNC 布局中創建批處理。 - states::具有形狀的初始循環狀態張量
(num_layers, batch_size, num_hidden)
.如果bidirectional
為真,形狀將改為(2*num_layers, batch_size, num_hidden)
.如果states
為無,零將用作默認開始狀態。
- data:: 輸入帶形狀的張量
- 輸出:
- out:: 輸出具有形狀的張量
(sequence_length, batch_size, num_hidden)
當layout
是“TNC”。如果bidirectional
為真,輸出形狀將改為(sequence_length, batch_size, 2*num_hidden)
- out_states::輸出具有相同形狀的循環狀態張量
states
.如果states
是無out_states
不會被退回。
- out:: 輸出具有形狀的張量
例子:
>>> layer = mx.gluon.rnn.RNN(100, 3) >>> layer.initialize() >>> input = mx.nd.random.uniform(shape=(5, 3, 10)) >>> # by default zeros are used as begin state >>> output = layer(input) >>> # manually specify begin state. >>> h0 = mx.nd.random.uniform(shape=(3, 3, 100)) >>> output, hn = layer(input, h0)
相關用法
- Python mxnet.gluon.rnn.GRU用法及代碼示例
- Python mxnet.gluon.rnn.LSTM用法及代碼示例
- Python mxnet.gluon.nn.SymbolBlock用法及代碼示例
- Python mxnet.gluon.HybridBlock.collect_params用法及代碼示例
- Python mxnet.gluon.data.vision.datasets.ImageFolderDataset用法及代碼示例
- Python mxnet.gluon.data.vision.transforms.CenterCrop用法及代碼示例
- Python mxnet.gluon.contrib.nn.Concurrent用法及代碼示例
- Python mxnet.gluon.SymbolBlock.imports用法及代碼示例
- Python mxnet.gluon.Block用法及代碼示例
- Python mxnet.gluon.contrib.nn.PixelShuffle2D用法及代碼示例
- Python mxnet.gluon.Block.name_scope用法及代碼示例
- Python mxnet.gluon.nn.Sequential用法及代碼示例
- Python mxnet.gluon.SymbolBlock.collect_params用法及代碼示例
- Python mxnet.gluon.nn.InstanceNorm用法及代碼示例
- Python mxnet.gluon.contrib.data.sampler.IntervalSampler用法及代碼示例
- Python mxnet.gluon.data.vision.transforms.Normalize用法及代碼示例
- Python mxnet.gluon.contrib.nn.PixelShuffle3D用法及代碼示例
- Python mxnet.gluon.nn.HybridSequential用法及代碼示例
- Python mxnet.gluon.nn.Block用法及代碼示例
- Python mxnet.gluon.HybridBlock用法及代碼示例
- Python mxnet.gluon.nn.SymbolBlock.imports用法及代碼示例
- Python mxnet.gluon.data.vision.transforms.Resize用法及代碼示例
- Python mxnet.gluon.nn.ReflectionPad2D用法及代碼示例
- Python mxnet.gluon.SymbolBlock用法及代碼示例
- Python mxnet.gluon.Parameter.initialize用法及代碼示例
注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.gluon.rnn.RNN。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。