ops.py 2.2 KB
Newer Older
1
#   Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
D
dzhwinter 已提交
2
#
3 4 5
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
D
dzhwinter 已提交
6
#
D
dzhwinter 已提交
7
#     http://www.apache.org/licenses/LICENSE-2.0
D
dzhwinter 已提交
8
#
9 10 11 12 13
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
14
from layer_function_generator import generate_layer_fn
Y
Yang Yu 已提交
15 16

__activations__ = [
17 18 19 20 21 22 23 24 25 26 27
    'sigmoid',
    'logsigmoid',
    'exp',
    'relu',
    'tanh',
    'tanh_shrink',
    'softshrink',
    'sqrt',
    'abs',
    'ceil',
    'floor',
C
add cos  
chengduoZH 已提交
28
    'cos',
C
add sin  
chengduoZH 已提交
29
    'sin',
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
    'round',
    'reciprocal',
    'log',
    'square',
    'softplus',
    'softsign',
    'brelu',
    'leaky_relu',
    'soft_relu',
    'elu',
    'relu6',
    'pow',
    'stanh',
    'hard_shrink',
    'thresholded_relu',
    'hard_sigmoid',
    'swish',
Y
Yu Yang 已提交
47 48
]

Y
Yang Yu 已提交
49
__all__ = [
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
    'mean',
    'mul',
    'scale',
    'sigmoid_cross_entropy_with_logits',
    'elementwise_add',
    'elementwise_div',
    'elementwise_sub',
    'elementwise_mul',
    'elementwise_max',
    'elementwise_min',
    'elementwise_pow',
    'clip',
    'clip_by_norm',
    'logical_and',
    'logical_or',
    'logical_xor',
    'logical_not',
    'uniform_random_batch_size_like',
    'gaussian_random',
    'gaussian_random_batch_size_like',
    'cumsum',
    'scatter',
72
    'sum',
W
whs 已提交
73
    'slice',
74
    'polygon_box_transform',
75
    'shape',
Q
qingqing01 已提交
76
    'maxout',
Y
Yang Yu 已提交
77 78
] + __activations__

Y
Yu Yang 已提交
79
for _OP in set(__all__):
80
    globals()[_OP] = generate_layer_fn(_OP)
Y
yuyang18 已提交
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

__all__ += ["uniform_random"]

_uniform_random_ = generate_layer_fn('uniform_random')


def uniform_random(shape, dtype=None, min=None, max=None, seed=None):
    kwargs = dict()
    for name in locals():
        val = locals()[name]
        if val is not None:
            kwargs[name] = val
    return _uniform_random_(**kwargs)

uniform_random.__doc__ = _uniform_random_.__doc__  + "\n"\
+"""
Examples:

    >>> result = fluid.layers.uniform_random(shape=[32, 784])
"""