Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
d349a622
P
Paddle
项目概览
机器未来
/
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看板
未验证
提交
d349a622
编写于
4月 08, 2020
作者:
C
Chen Weihang
提交者:
GitHub
4月 08, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
api dygraph batch norm type check, test=develop (#23525)
上级
8d95a109
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
0 deletion
+19
-0
python/paddle/fluid/dygraph/nn.py
python/paddle/fluid/dygraph/nn.py
+4
-0
python/paddle/fluid/tests/unittests/test_batch_norm_op.py
python/paddle/fluid/tests/unittests/test_batch_norm_op.py
+15
-0
未找到文件。
python/paddle/fluid/dygraph/nn.py
浏览文件 @
d349a622
...
...
@@ -20,6 +20,7 @@ from ..layers import utils
from
..layers
import
nn
from
..
import
dygraph_utils
from
.
import
layers
from
..data_feeder
import
convert_dtype
,
check_variable_and_dtype
,
check_type
,
check_dtype
from
..framework
import
Variable
,
in_dygraph_mode
,
OpProtoHolder
,
Parameter
,
_dygraph_tracer
,
_varbase_creator
from
..param_attr
import
ParamAttr
from
..initializer
import
Normal
,
Constant
,
NumpyArrayInitializer
...
...
@@ -1147,6 +1148,9 @@ class BatchNorm(layers.Layer):
return
dygraph_utils
.
_append_activation_in_dygraph
(
batch_norm_out
,
act
=
self
.
_act
)
check_variable_and_dtype
(
input
,
'input'
,
[
'float16'
,
'float32'
,
'float64'
],
'BatchNorm'
)
attrs
=
{
"momentum"
:
self
.
_momentum
,
"epsilon"
:
self
.
_epsilon
,
...
...
python/paddle/fluid/tests/unittests/test_batch_norm_op.py
浏览文件 @
d349a622
...
...
@@ -608,5 +608,20 @@ class TestBatchNormOpError(unittest.TestCase):
self
.
assertRaises
(
TypeError
,
fluid
.
layers
.
batch_norm
,
x2
)
class
TestDygraphBatchNormAPIError
(
unittest
.
TestCase
):
def
test_errors
(
self
):
with
program_guard
(
Program
(),
Program
()):
batch_norm
=
fluid
.
dygraph
.
BatchNorm
(
10
)
# the input of BatchNorm must be Variable.
x1
=
fluid
.
create_lod_tensor
(
np
.
array
([
-
1
,
3
,
5
,
5
]),
[[
1
,
1
,
1
,
1
]],
fluid
.
CPUPlace
())
self
.
assertRaises
(
TypeError
,
batch_norm
,
x1
)
# the input dtype of BatchNorm must be float16 or float32 or float64
# float16 only can be set on GPU place
x2
=
fluid
.
layers
.
data
(
name
=
'x2'
,
shape
=
[
3
,
4
,
5
,
6
],
dtype
=
"int32"
)
self
.
assertRaises
(
TypeError
,
batch_norm
,
x2
)
if
__name__
==
'__main__'
:
unittest
.
main
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录