Skip to content

Commit 87f9b58

Browse files
authored
set stop gradient for mask in dropout layer (#7390)
1 parent 59bf85d commit 87f9b58

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

python/paddle/v2/fluid/layers/nn.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
'chunk_eval', 'sequence_conv', 'conv2d', 'sequence_pool', 'pool2d',
1515
'batch_norm', 'beam_search_decode', 'conv2d_transpose', 'sequence_expand',
1616
'lstm_unit', 'reduce_sum', 'reduce_mean', 'reduce_max', 'reduce_min',
17-
'sequence_first_step', 'sequence_last_step'
17+
'sequence_first_step', 'sequence_last_step', 'dropout'
1818
]
1919

2020

@@ -386,6 +386,21 @@ def cos_sim(X, Y, **kwargs):
386386
return out
387387

388388

389+
def dropout(x, dropout_prob, is_test=False, seed=0, **kwargs):
390+
helper = LayerHelper('dropout', **kwargs)
391+
out = helper.create_tmp_variable(dtype=x.dtype)
392+
mask = helper.create_tmp_variable(dtype=x.dtype, stop_gradient=True)
393+
helper.append_op(
394+
type='dropout',
395+
inputs={'X': [x]},
396+
outputs={'Out': [out],
397+
'Mask': [mask]},
398+
attrs={'dropout_prob': dropout_prob,
399+
'is_test': is_test,
400+
'seed': seed})
401+
return out
402+
403+
389404
def cross_entropy(input, label, **kwargs):
390405
"""
391406
**Cross Entropy Layer**

python/paddle/v2/fluid/layers/ops.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,12 @@
11
from ..registry import register_layer
22

33
__activations__ = [
4-
'abs',
5-
'ceil',
6-
'exp',
7-
'floor',
8-
'log',
9-
'relu',
10-
'round',
11-
'sigmoid',
12-
'sqrt',
13-
'square',
14-
'tanh',
4+
'abs', 'tanh', 'sigmoid', 'relu', 'sqrt', 'ceil', 'floor', 'log', 'round'
155
]
166

177
__all__ = [
188
'mean',
199
'mul',
20-
'dropout',
2110
'reshape',
2211
'scale',
2312
'transpose',

0 commit comments

Comments
 (0)