用法:
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:(
strorInitializer) - 輸入權重矩陣的初始化器,用於輸入的線性變換。 - h2h_weight_initializer:(
strorInitializer) - 循環權重矩陣的初始化器,用於循環狀態的線性變換。 - i2h_bias_initializer:(
strorInitializer) - 偏置向量的初始化器。 - h2h_bias_initializer:(
strorInitializer) - 偏置向量的初始化器。 - input_size:(
int,default 0) - 輸入 x 中預期特征的數量。如果未指定,將從輸入推斷。 - dtype:(
str,default 'float32') - 類型初始化參數和默認狀態為 - prefix:(
strorNone) - 這個前綴Block. - params:(
ParameterDictorNone) - 為此共享參數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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
