LBANN
0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
unary.hpp
Go to the documentation of this file.
1
// Copyright (c) 2014-2023, Lawrence Livermore National Security, LLC.
3
// Produced at the Lawrence Livermore National Laboratory.
4
// Written by the LBANN Research Team (B. Van Essen, et al.) listed in
5
// the CONTRIBUTORS file. <lbann-dev@llnl.gov>
6
//
7
// LLNL-CODE-697807.
8
// All rights reserved.
9
//
10
// This file is part of LBANN: Livermore Big Artificial Neural Network
11
// Toolkit. For details, see http://software.llnl.gov/LBANN or
12
// https://github.com/LLNL/LBANN.
13
//
14
// Licensed under the Apache License, Version 2.0 (the "Licensee"); you
15
// may not use this file except in compliance with the License. You may
16
// obtain a copy of the License at:
17
//
18
// http://www.apache.org/licenses/LICENSE-2.0
19
//
20
// Unless required by applicable law or agreed to in writing, software
21
// distributed under the License is distributed on an "AS IS" BASIS,
22
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
23
// implied. See the License for the specific language governing
24
// permissions and limitations under the license.
26
27
#ifndef LBANN_INCLUDE_LBANN_OPERATORS_MATH_UNARY_HPP_INCLUDED
28
#define LBANN_INCLUDE_LBANN_OPERATORS_MATH_UNARY_HPP_INCLUDED
29
30
#include "
lbann/operators/declare_stateless_op.hpp
"
31
32
namespace
lbann
{
33
34
// These are all single-type operators.
35
36
// Logical operations
37
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(LogicalNot,
"logical not"
,
false
);
38
39
// Sign operations
40
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Negative,
"negative"
,
false
);
41
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Sign,
"sign"
,
false
);
42
43
// Rounding operations
44
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Round,
"round"
,
false
);
45
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Ceil,
"ceil"
,
false
);
46
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Floor,
"floor"
,
false
);
47
48
// Power operations
49
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Reciprocal,
"reciprocal"
,
true
);
50
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Square,
"square"
,
true
);
51
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Sqrt,
"square root"
,
true
);
52
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Rsqrt,
53
"reciprocal square root"
,
54
true
);
55
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(SafeReciprocal,
56
"safe reciprocal"
,
57
true
);
58
59
// Exponential and logarithmic operations
60
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Exp,
"exponential"
,
true
);
61
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Expm1,
"expm1"
,
true
);
62
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Log,
"natural logarithm"
,
true
);
63
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Log1p,
"log1p"
,
true
);
64
65
// Trigonometric operations
66
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Cos,
"cosine"
,
true
);
67
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Sin,
"sine"
,
true
);
68
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Tan,
"tangent"
,
true
);
69
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Acos,
"arccosine"
,
true
);
70
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Asin,
"arcsine"
,
true
);
71
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Atan,
"arctangent"
,
true
);
72
73
// Hyperbolic operations
74
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Cosh,
"hyperbolic cosine"
,
true
);
75
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Sinh,
"hyperbolic sine"
,
true
);
76
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Tanh,
"hyperbolic tangent"
,
true
);
77
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Acosh,
78
"hyperbolic arccosine"
,
79
true
);
80
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Asinh,
"hyperbolic arcsine"
,
true
);
81
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Atanh,
82
"hyperbolic arctangent"
,
83
true
);
84
85
// Error function
86
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Erf,
"error function"
,
true
);
87
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(ErfInv,
88
"inverse error function"
,
89
true
);
90
91
// Probabilistic operations
92
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
(Gelu,
93
"gaussian error linear unit"
,
94
true
);
95
96
}
// namespace lbann
97
98
#endif // LBANN_INCLUDE_LBANN_OPERATORS_MATH_UNARY_HPP_INCLUDED
lbann::LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR
LBANN_DECLARE_STATELESS_ELEMENTWISE_OPERATOR(LogSigmoid, "log sigmoid", true)
declare_stateless_op.hpp
lbann
Definition:
callback_helpers.hpp:32
include
lbann
operators
math
unary.hpp
Generated on Wed Oct 11 2023 20:49:38 for LBANN by
1.8.13