Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
87e75a77
P
Paddle
项目概览
Crayon鑫
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
87e75a77
编写于
12月 09, 2020
作者:
J
joejiong
提交者:
GitHub
12月 09, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add tangent operator (#29207)
As the title
上级
95e33481
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
140 addition
and
25 deletion
+140
-25
paddle/fluid/operators/activation_op.cc
paddle/fluid/operators/activation_op.cc
+10
-0
paddle/fluid/operators/activation_op.h
paddle/fluid/operators/activation_op.h
+34
-0
python/paddle/__init__.py
python/paddle/__init__.py
+1
-0
python/paddle/fluid/layers/ops.py
python/paddle/fluid/layers/ops.py
+14
-0
python/paddle/fluid/tests/unittests/test_activation_op.py
python/paddle/fluid/tests/unittests/test_activation_op.py
+79
-25
python/paddle/tensor/__init__.py
python/paddle/tensor/__init__.py
+1
-0
python/paddle/tensor/math.py
python/paddle/tensor/math.py
+1
-0
未找到文件。
paddle/fluid/operators/activation_op.cc
100644 → 100755
浏览文件 @
87e75a77
...
...
@@ -249,6 +249,15 @@ $$out = cos(x)$$
)DOC"
;
UNUSED
constexpr
char
TanDoc
[]
=
R"DOC(
Tangent Operator. Computes tangent of x element-wise.
Input range is `(k*pi-pi/2, k*pi+pi/2)` and output range is `(-inf, inf)`.
$$out = tan(x)$$
)DOC"
;
UNUSED
constexpr
char
SinDoc
[]
=
R"DOC(
Sine Activation Operator.
...
...
@@ -709,6 +718,7 @@ REGISTER_ACTIVATION_OP_MAKER(Abs, AbsDoc);
REGISTER_ACTIVATION_OP_MAKER
(
Ceil
,
CeilDoc
);
REGISTER_ACTIVATION_OP_MAKER
(
Floor
,
FloorDoc
);
REGISTER_ACTIVATION_OP_MAKER
(
Cos
,
CosDoc
);
REGISTER_ACTIVATION_OP_MAKER
(
Tan
,
TanDoc
);
REGISTER_ACTIVATION_OP_MAKER
(
Sin
,
SinDoc
);
REGISTER_ACTIVATION_OP_MAKER
(
Sinh
,
SinhDoc
);
REGISTER_ACTIVATION_OP_MAKER
(
Cosh
,
CoshDoc
);
...
...
paddle/fluid/operators/activation_op.h
浏览文件 @
87e75a77
...
...
@@ -584,6 +584,39 @@ struct SinFunctor : public BaseActivationFunctor<T> {
}
};
template
<
typename
T
>
struct
Tangent
{
HOSTDEVICE
T
operator
()(
const
T
&
val
)
const
{
return
tan
(
val
);
}
};
template
<
>
struct
Tangent
<
platform
::
float16
>
{
HOSTDEVICE
platform
::
float16
operator
()(
const
platform
::
float16
&
val
)
const
{
return
platform
::
float16
(
tan
(
static_cast
<
float
>
(
val
)));
}
};
// Tangent'(x) = -Tangent(x)
template
<
typename
T
>
struct
TanGradFunctor
:
public
BaseActivationFunctor
<
T
>
{
template
<
typename
Device
,
typename
X
,
typename
Out
,
typename
dOut
,
typename
dX
>
void
operator
()(
Device
d
,
X
x
,
Out
out
,
dOut
dout
,
dX
dx
)
const
{
dx
.
device
(
d
)
=
dout
/
x
.
unaryExpr
(
Cosine
<
T
>
()).
square
();
}
static
constexpr
ActBwdOpFwdDeps
FwdDeps
()
{
return
kDepX
;
}
};
// Tangent(x) = tan(x)
template
<
typename
T
>
struct
TanFunctor
:
public
BaseActivationFunctor
<
T
>
{
template
<
typename
Device
,
typename
X
,
typename
Out
>
void
operator
()(
Device
d
,
X
x
,
Out
out
)
const
{
out
.
device
(
d
)
=
x
.
unaryExpr
(
Tangent
<
T
>
());
}
};
template
<
typename
T
>
struct
Sinh
{
HOSTDEVICE
T
operator
()(
const
T
&
val
)
const
{
return
sinh
(
val
);
}
...
...
@@ -1942,6 +1975,7 @@ struct LogGradGradFunctor : public BaseActivationFunctor<T> {
__macro(ceil, Ceil, CeilFunctor, ZeroGradFunctor); \
__macro(floor, Floor, FloorFunctor, ZeroGradFunctor); \
__macro(cos, Cos, CosFunctor, CosGradFunctor); \
__macro(tan, Tan, TanFunctor, TanGradFunctor); \
__macro(acos, Acos, AcosFunctor, AcosGradFunctor); \
__macro(sin, Sin, SinFunctor, SinGradFunctor); \
__macro(asin, Asin, AsinFunctor, AsinGradFunctor); \
...
...
python/paddle/__init__.py
浏览文件 @
87e75a77
...
...
@@ -134,6 +134,7 @@ from .tensor.math import asin #DEFINE_ALIAS
from
.tensor.math
import
atan
#DEFINE_ALIAS
from
.tensor.math
import
ceil
#DEFINE_ALIAS
from
.tensor.math
import
cos
#DEFINE_ALIAS
from
.tensor.math
import
tan
#DEFINE_ALIAS
from
.tensor.math
import
cosh
#DEFINE_ALIAS
from
.tensor.math
import
cumsum
#DEFINE_ALIAS
# from .tensor.math import elementwise_add #DEFINE_ALIAS
...
...
python/paddle/fluid/layers/ops.py
100644 → 100755
浏览文件 @
87e75a77
...
...
@@ -43,6 +43,7 @@ __unary_func__ = [
'ceil'
,
'floor'
,
'cos'
,
'tan'
,
'acos'
,
'sin'
,
'sinh'
,
...
...
@@ -244,6 +245,19 @@ Examples:
"""
)
add_sample_code
(
globals
()[
"tan"
],
r
"""
Examples:
.. code-block:: python
import paddle
x = paddle.to_tensor([-0.4, -0.2, 0.1, 0.3])
out = paddle.tan(x)
print(out)
# [-0.42279324, -0.20271005, 0.10033467, 0.30933627]
"""
)
add_sample_code
(
globals
()[
"acos"
],
r
"""
Examples:
.. code-block:: python
...
...
python/paddle/fluid/tests/unittests/test_activation_op.py
浏览文件 @
87e75a77
...
...
@@ -13,16 +13,17 @@
# limitations under the License.
from
__future__
import
print_function
import
unittest
import
numpy
as
np
import
paddle.fluid.core
as
core
from
op_test
import
OpTest
from
scipy.special
import
expit
,
erf
from
op_test
import
OpTest
import
paddle
import
paddle.fluid
as
fluid
import
paddle.nn
as
nn
import
paddle.nn.functional
as
F
import
paddle.fluid
as
fluid
import
paddle.fluid.core
as
core
from
paddle.fluid
import
compiler
,
Program
,
program_guard
paddle
.
enable_static
()
...
...
@@ -137,7 +138,7 @@ class TestLogSigmoidAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
11
,
17
]).
astype
(
'float32'
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -218,7 +219,7 @@ class TestTanhAPI(unittest.TestCase):
self
.
dtype
=
'float32'
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
self
.
dtype
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -480,7 +481,7 @@ class TestTanhshrinkAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
10
,
20
,
[
10
,
17
]).
astype
(
np
.
float64
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -572,7 +573,7 @@ class TestHardShrinkAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
'float32'
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -644,7 +645,7 @@ class TestHardtanhAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
3
,
3
,
[
10
,
12
]).
astype
(
'float32'
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -726,7 +727,7 @@ class TestSoftshrinkAPI(unittest.TestCase):
self
.
threshold
=
0.8
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
0.25
,
10
,
[
10
,
12
]).
astype
(
np
.
float64
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -895,6 +896,57 @@ class TestCos(TestActivation):
self
.
check_grad
([
'X'
],
'Out'
)
class
TestTan
(
TestActivation
):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
op_type
=
"tan"
self
.
init_dtype
()
self
.
dtype
=
'float32'
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
self
.
dtype
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddle
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
out
=
np
.
tan
(
self
.
x_np
)
self
.
inputs
=
{
'X'
:
OpTest
.
np_dtype_to_fluid_dtype
(
self
.
x_np
)}
self
.
outputs
=
{
'Out'
:
out
}
def
test_check_grad
(
self
):
if
self
.
dtype
==
np
.
float16
:
return
self
.
check_grad
([
'X'
],
'Out'
)
def
test_dygraph_api
(
self
):
paddle
.
disable_static
(
self
.
place
)
x
=
paddle
.
to_tensor
(
self
.
x_np
)
out_test
=
paddle
.
tan
(
x
)
out_ref
=
np
.
tan
(
self
.
x_np
)
self
.
assertTrue
(
np
.
allclose
(
out_ref
,
out_test
.
numpy
()))
paddle
.
enable_static
()
def
test_static_api
(
self
):
paddle
.
enable_static
()
with
paddle
.
static
.
program_guard
(
paddle
.
static
.
Program
()):
x
=
paddle
.
static
.
data
(
'X'
,
[
10
,
12
],
self
.
dtype
)
out
=
paddle
.
tan
(
x
)
exe
=
paddle
.
static
.
Executor
(
self
.
place
)
res
=
exe
.
run
(
feed
=
{
'X'
:
self
.
x_np
},
fetch_list
=
[
out
])
out_ref
=
np
.
tan
(
self
.
x_np
)
self
.
assertTrue
(
np
.
allclose
(
out_ref
,
res
[
0
]))
def
test_backward
(
self
):
test_data_shape
=
[
11
,
17
]
with
fluid
.
dygraph
.
guard
():
input_x
=
np
.
random
.
uniform
(
0.1
,
1
,
test_data_shape
).
astype
(
"float32"
)
var
=
paddle
.
to_tensor
(
input_x
)
var
.
stop_gradient
=
False
loss
=
paddle
.
tan
(
var
)
loss
.
backward
()
grad_var
=
var
.
gradient
()
self
.
assertEqual
(
grad_var
.
shape
,
input_x
.
shape
)
class
TestAcos
(
TestActivation
):
def
setUp
(
self
):
self
.
op_type
=
"acos"
...
...
@@ -990,7 +1042,7 @@ class TestReluAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
'float32'
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -1084,7 +1136,7 @@ class TestLeakyReluAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
'float32'
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -1195,7 +1247,7 @@ class TestGELUAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
11
,
17
]).
astype
(
'float32'
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -1281,7 +1333,7 @@ class TestBreluAPI(unittest.TestCase):
self
.
out_ref
[
self
.
out_ref
<
self
.
t_min
]
=
self
.
t_min
self
.
out_ref
[
self
.
out_ref
>
self
.
t_max
]
=
self
.
t_max
self
.
out_ref
=
self
.
out_ref
.
astype
(
'float32'
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_fluid_api
(
self
):
...
...
@@ -1344,7 +1396,7 @@ class TestRelu6API(unittest.TestCase):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
10
,
[
10
,
12
]).
astype
(
np
.
float64
)
self
.
x_np
[
np
.
abs
(
self
.
x_np
)
<
0.005
]
=
0.02
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -1430,7 +1482,7 @@ class TestHardswishAPI(unittest.TestCase):
# test paddle.nn.Hardswish, paddle.nn.functional.hardswish
def
setUp
(
self
):
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
np
.
float64
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -1555,7 +1607,7 @@ class TestELUAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
3
,
3
,
[
10
,
12
]).
astype
(
'float32'
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -2055,7 +2107,7 @@ class TestSoftplusAPI(unittest.TestCase):
self
.
threshold
=
15
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
np
.
float64
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -2134,7 +2186,7 @@ class TestSoftsignAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
np
.
float64
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -2219,7 +2271,7 @@ class TestThresholdedReluAPI(unittest.TestCase):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
20
,
20
,
[
10
,
12
]).
astype
(
np
.
float64
)
self
.
x_np
[
np
.
abs
(
self
.
x_np
)
<
0.005
]
=
0.02
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
...
...
@@ -2317,12 +2369,12 @@ class TestHardsigmoidAPI(unittest.TestCase):
# test paddle.nn.Hardsigmoid, paddle.nn.functional.hardsigmoid
def
setUp
(
self
):
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
np
.
float64
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
with
paddle
.
static
.
program_guard
(
paddle
.
static
.
Program
()):
x
=
paddle
.
fluid
.
data
(
'X'
,
self
.
x_np
.
shape
,
self
.
x_np
.
dtype
)
x
=
paddle
.
static
.
data
(
'X'
,
self
.
x_np
.
shape
,
self
.
x_np
.
dtype
)
out1
=
F
.
hardsigmoid
(
x
)
m
=
paddle
.
nn
.
Hardsigmoid
()
out2
=
m
(
x
)
...
...
@@ -2400,13 +2452,13 @@ class TestSwishAPI(unittest.TestCase):
def
setUp
(
self
):
np
.
random
.
seed
(
1024
)
self
.
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
[
10
,
12
]).
astype
(
np
.
float64
)
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
cor
e
.
is_compiled_with_cuda
()
\
self
.
place
=
paddle
.
CUDAPlace
(
0
)
if
paddl
e
.
is_compiled_with_cuda
()
\
else
paddle
.
CPUPlace
()
def
test_static_api
(
self
):
paddle
.
enable_static
()
with
paddle
.
static
.
program_guard
(
paddle
.
static
.
Program
()):
x
=
paddle
.
fluid
.
data
(
'X'
,
self
.
x_np
.
shape
,
self
.
x_np
.
dtype
)
x
=
paddle
.
static
.
data
(
'X'
,
self
.
x_np
.
shape
,
self
.
x_np
.
dtype
)
out1
=
F
.
swish
(
x
)
swish
=
paddle
.
nn
.
Swish
()
out2
=
swish
(
x
)
...
...
@@ -2483,6 +2535,7 @@ create_test_error_class('rsqrt')
create_test_error_class
(
'sin'
)
create_test_error_class
(
'sqrt'
)
create_test_error_class
(
'tanh'
)
create_test_error_class
(
'tan'
)
#------------------ Test Cudnn Activation----------------------
...
...
@@ -2509,7 +2562,7 @@ def create_test_act_fp16_class(parent,
atol
=
1e-3
,
grad_check
=
True
,
grad_atol
=
0.80
):
@
unittest
.
skipIf
(
not
cor
e
.
is_compiled_with_cuda
(),
@
unittest
.
skipIf
(
not
paddl
e
.
is_compiled_with_cuda
(),
"core is not compiled with CUDA"
)
class
TestActFp16
(
parent
):
def
init_dtype
(
self
):
...
...
@@ -2545,6 +2598,7 @@ create_test_act_fp16_class(TestAbs)
create_test_act_fp16_class
(
TestCeil
,
grad_check
=
False
)
create_test_act_fp16_class
(
TestFloor
,
grad_check
=
False
)
create_test_act_fp16_class
(
TestCos
,
grad_atol
=
0.85
)
create_test_act_fp16_class
(
TestTan
,
grad_atol
=
0.85
)
create_test_act_fp16_class
(
TestCosh
,
grad_atol
=
0.85
)
create_test_act_fp16_class
(
TestAcos
,
grad_atol
=
0.85
)
create_test_act_fp16_class
(
TestSin
)
...
...
python/paddle/tensor/__init__.py
浏览文件 @
87e75a77
...
...
@@ -104,6 +104,7 @@ from .math import asin #DEFINE_ALIAS
from
.math
import
atan
#DEFINE_ALIAS
from
.math
import
ceil
#DEFINE_ALIAS
from
.math
import
cos
#DEFINE_ALIAS
from
.math
import
tan
#DEFINE_ALIAS
from
.math
import
cosh
#DEFINE_ALIAS
from
.math
import
cumsum
#DEFINE_ALIAS
# from .math import elementwise_add #DEFINE_ALIAS
...
...
python/paddle/tensor/math.py
浏览文件 @
87e75a77
...
...
@@ -33,6 +33,7 @@ from ..fluid.layers import acos #DEFINE_ALIAS
from
..fluid.layers
import
asin
#DEFINE_ALIAS
from
..fluid.layers
import
ceil
#DEFINE_ALIAS
from
..fluid.layers
import
cos
#DEFINE_ALIAS
from
..fluid.layers
import
tan
#DEFINE_ALIAS
from
..fluid.layers
import
sinh
#DEFINE_ALIAS
from
..fluid.layers
import
cosh
#DEFINE_ALIAS
# from ..fluid.layers import elementwise_add #DEFINE_ALIAS
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录