@ -364,8 +364,7 @@ def dynamic_lstm(input,
cell_activation ( str ) : The activation for cell output . Choices = [ " sigmoid " ,
" tanh " , " relu " , " identity " ] , default " tanh " .
candidate_activation ( str ) : The activation for candidate hidden state .
Choices = [ " sigmoid " , " tanh " ,
" relu " , " identity " ] ,
Choices = [ " sigmoid " , " tanh " , " relu " , " identity " ] ,
default " tanh " .
dtype ( str ) : Data type . Choices = [ " float32 " , " float64 " ] , default " float32 " .
name ( str | None ) : A name for this layer ( optional ) . If set None , the layer
@ -540,27 +539,31 @@ def dynamic_lstmp(input,
cell_activation ( str ) : The activation for cell output . Choices = [ " sigmoid " ,
" tanh " , " relu " , " identity " ] , default " tanh " .
candidate_activation ( str ) : The activation for candidate hidden state .
Choices = [ " sigmoid " , " tanh " ,
" relu " , " identity " ] ,
Choices = [ " sigmoid " , " tanh " , " relu " , " identity " ] ,
default " tanh " .
proj_activation ( str ) : The activation for projection output .
Choices = [ " sigmoid " , " tanh " ,
" relu " , " identity " ] ,
Choices = [ " sigmoid " , " tanh " , " relu " , " identity " ] ,
default " tanh " .
dtype ( str ) : Data type . Choices = [ " float32 " , " float64 " ] , default " float32 " .
name ( str | None ) : A name for this layer ( optional ) . If set None , the layer
will be named automatically .
Returns :
tuple : The projection of hidden state , and cell state of LSTMP . The \
shape of projection is ( T x P ) , for the cell state which is \
( T x D ) , and both LoD is the same with the ` input ` .
tuple : A tuple of two output variable : the projection of hidden state , \
and cell state of LSTMP . The shape of projection is ( T x P ) , \
for the cell state which is ( T x D ) , and both LoD is the same \
with the ` input ` .
Examples :
. . code - block : : python
dict_dim , emb_dim = 128 , 64
data = fluid . layers . data ( name = ' sequence ' , shape = [ 1 ] ,
dtype = ' int32 ' , lod_level = 1 )
emb = fluid . layers . embedding ( input = data , size = [ dict_dim , emb_dim ] )
hidden_dim , proj_dim = 512 , 256
fc_out = fluid . layers . fc ( input = input_seq , size = hidden_dim * 4 ,
fc_out = fluid . layers . fc ( input = emb , size = hidden_dim * 4 ,
act = None , bias_attr = None )
proj_out , _ = fluid . layers . dynamic_lstmp ( input = fc_out ,
size = hidden_dim * 4 ,
@ -626,10 +629,10 @@ def dynamic_gru(input,
candidate_activation = ' tanh ' ,
h_0 = None ) :
"""
* * Dynamic GRU Layer * *
* * Gated Recurrent Unit ( GRU ) Layer * *
Refer to ` Empirical Evaluation of Gated Recurrent Neural Networks on
Sequence Modeling < https : / / arxiv . org / abs / 1412.3555 > ` _
Sequence Modeling < https : / / arxiv . org / abs / 1412.3555 > ` _ .
The formula is as follows :
@ -676,17 +679,25 @@ def dynamic_gru(input,
Choices = [ " sigmoid " , " tanh " , " relu " , " identity " ] , default " sigmoid " .
candidate_activation ( str ) : The activation for candidate hidden state .
Choices = [ " sigmoid " , " tanh " , " relu " , " identity " ] , default " tanh " .
h_0 ( Variable ) : The hidden output of the first time step .
h_0 ( Variable ) : This is initial hidden state . If not set , default is
zero . This is a tensor with shape ( N x D ) , where N is the number of
total time steps of input mini - batch feature and D is the hidden
size .
Returns :
Variable : The hidden state of GRU . The shape is : math : ` ( T \\times D ) ` , \
and lod is the same with the input .
and sequence length is the same with the input .
Examples :
. . code - block : : python
dict_dim , emb_dim = 128 , 64
data = fluid . layers . data ( name = ' sequence ' , shape = [ 1 ] ,
dtype = ' int32 ' , lod_level = 1 )
emb = fluid . layers . embedding ( input = data , size = [ dict_dim , emb_dim ] )
hidden_dim = 512
x = fluid . layers . fc ( input = data , size = hidden_dim * 3 )
x = fluid . layers . fc ( input = emb , size = hidden_dim * 3 )
hidden = fluid . layers . dynamic_gru ( input = x , dim = hidden_dim )
"""
@ -924,13 +935,13 @@ def dropout(x, dropout_prob, is_test=False, seed=None, name=None):
Drop or keep each element of ` x ` independently . Dropout is a regularization
technique for reducing overfitting by preventing neuron co - adaption during
training . The dropout operator randomly set ( according to the given dropout
training . The dropout operator randomly sets ( according to the given dropout
probability ) the outputs of some units to zero , while others are remain
unchanged .
Args :
x ( Variable ) : The input tensor .
dropout_prob ( float ) : Probability of setting units to zero .
x ( Variable ) : The input tensor variable .
dropout_prob ( float ) : Probability of setting units to zero .
is_test ( bool ) : A flag indicating whether it is in test phrase or not .
seed ( int ) : A Python integer used to create random seeds . If this
parameter is set to None , a random seed is used .
@ -940,13 +951,14 @@ def dropout(x, dropout_prob, is_test=False, seed=None, name=None):
will be named automatically .
Returns :
Variable : A tensor variable .
Variable : A tensor variable is the shape with ` x ` .
Examples :
. . code - block : : python
x = fluid . layers . data ( name = " data " , shape = [ 32 , 32 ] , dtype = " float32 " )
droped = fluid . layers . dropout ( input = x , dropout_rate = 0.5 )
x = fluid . layers . data ( name = " data " , shape = [ 32 , 32 ] , dtype = " float32 " )
droped = fluid . layers . dropout ( x , dropout_prob = 0.5 )
"""
helper = LayerHelper ( ' dropout ' , * * locals ( ) )
@ -2990,32 +3002,33 @@ def l2_normalize(x, axis, epsilon=1e-12, name=None):
norm . For a 1 - D tensor ( ` dim ` is fixed to 0 ) , this layer computes
. . math : :
y = \frac { x } { \sqrt { \sum { x ^ 2 } + epsion } }
y = \\frac { x } { \sqrt { \sum { x ^ 2 } + epsion } }
For ` x ` with more dimensions , this layer independently normalizes each 1 - D
slice along dimension ` axis ` .
Args :
x ( Variable | list ) : The input tensor to l2_normalize layer .
axis ( int ) : The axis on which to apply normalization . If ` axis < 0 ` ,
axis ( int ) : The axis on which to apply normalization . If ` axis < 0 ` , \
the dimension to normalization is rank ( X ) + axis . - 1 is the
last dimension .
epsilon ( float ) : The epsilon value is used to avoid division by zero ,
epsilon ( float ) : The epsilon value is used to avoid division by zero , \
the defalut value is 1e-10 .
name ( str | None ) : A name for this layer ( optional ) . If set None , the layer
name ( str | None ) : A name for this layer ( optional ) . If set None , the layer \
will be named automatically .
Returns :
Variable : The output tensor variable .
Variable : The output tensor variable is the same shape with ` x ` .
Examples :
. . code - block : : python
data = fluid . layers . data ( name = " data " ,
shape = ( 3 , 17 , 13 ) ,
dtype = " float32 " )
normed = fluid . layers . l2_normalize ( x = data , axis = 1 )
data = fluid . layers . data ( name = " data " ,
shape = ( 3 , 17 , 13 ) ,
dtype = " float32 " )
normed = fluid . layers . l2_normalize ( x = data , axis = 1 )
"""
if len ( x . shape ) == 1 :