|
|
|
@ -14,7 +14,7 @@ __all__ = [
|
|
|
|
|
'chunk_eval', 'sequence_conv', 'conv2d', 'sequence_pool', 'pool2d',
|
|
|
|
|
'batch_norm', 'beam_search_decode', 'conv2d_transpose', 'sequence_expand',
|
|
|
|
|
'lstm_unit', 'reduce_sum', 'reduce_mean', 'reduce_max', 'reduce_min',
|
|
|
|
|
'sequence_first_step', 'sequence_last_step'
|
|
|
|
|
'sequence_first_step', 'sequence_last_step', 'dropout'
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -386,6 +386,21 @@ def cos_sim(X, Y, **kwargs):
|
|
|
|
|
return out
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def dropout(x, dropout_prob, is_test=False, seed=0, **kwargs):
|
|
|
|
|
helper = LayerHelper('dropout', **kwargs)
|
|
|
|
|
out = helper.create_tmp_variable(dtype=x.dtype)
|
|
|
|
|
mask = helper.create_tmp_variable(dtype=x.dtype, stop_gradient=True)
|
|
|
|
|
helper.append_op(
|
|
|
|
|
type='dropout',
|
|
|
|
|
inputs={'X': [x]},
|
|
|
|
|
outputs={'Out': [out],
|
|
|
|
|
'Mask': [mask]},
|
|
|
|
|
attrs={'dropout_prob': dropout_prob,
|
|
|
|
|
'is_test': is_test,
|
|
|
|
|
'seed': seed})
|
|
|
|
|
return out
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def cross_entropy(input, label, **kwargs):
|
|
|
|
|
"""
|
|
|
|
|
**Cross Entropy Layer**
|
|
|
|
|