Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
134d809e
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看板
未验证
提交
134d809e
编写于
10月 09, 2019
作者:
T
Tao Luo
提交者:
GitHub
10月 09, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix softmax input error check on float16 (#20273)
test=develop
上级
54df1ad4
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
9 addition
and
3 deletion
+9
-3
python/paddle/fluid/layers/nn.py
python/paddle/fluid/layers/nn.py
+6
-2
python/paddle/fluid/tests/unittests/test_softmax_op.py
python/paddle/fluid/tests/unittests/test_softmax_op.py
+3
-1
未找到文件。
python/paddle/fluid/layers/nn.py
浏览文件 @
134d809e
...
@@ -2380,9 +2380,13 @@ def softmax(input, use_cudnn=False, name=None, axis=-1):
...
@@ -2380,9 +2380,13 @@ def softmax(input, use_cudnn=False, name=None, axis=-1):
raise TypeError(
raise TypeError(
"The type of 'input' in softmax must be Variable, but received %s" %
"The type of 'input' in softmax must be Variable, but received %s" %
(type(input)))
(type(input)))
if convert_dtype(input.dtype) not in ['float32', 'float64']:
if convert_dtype(input.dtype) in ['float16']:
warnings.warn(
"The data type of 'input' in softmax only support float16 in GPU now."
)
if convert_dtype(input.dtype) not in ['float16', 'float32', 'float64']:
raise TypeError(
raise TypeError(
"The data type of 'input' in softmax must be float32 or float64, but received %s."
"The data type of 'input' in softmax must be float
16, float
32 or float64, but received %s."
% (convert_dtype(input.dtype)))
% (convert_dtype(input.dtype)))
dtype = helper.input_dtype()
dtype = helper.input_dtype()
...
...
python/paddle/fluid/tests/unittests/test_softmax_op.py
浏览文件 @
134d809e
...
@@ -83,9 +83,11 @@ class TestSoftmaxOpError(OpTest):
...
@@ -83,9 +83,11 @@ class TestSoftmaxOpError(OpTest):
x1
=
fluid
.
create_lod_tensor
(
x1
=
fluid
.
create_lod_tensor
(
np
.
array
([[
-
1
]]),
[[
1
]],
fluid
.
CPUPlace
())
np
.
array
([[
-
1
]]),
[[
1
]],
fluid
.
CPUPlace
())
self
.
assertRaises
(
TypeError
,
fluid
.
layers
.
softmax
,
x1
)
self
.
assertRaises
(
TypeError
,
fluid
.
layers
.
softmax
,
x1
)
# The input dtype of softmax_op must be float32 or float64.
# The input dtype of softmax_op must be float
16, float
32 or float64.
x2
=
fluid
.
layers
.
data
(
name
=
'x2'
,
shape
=
[
4
],
dtype
=
"int32"
)
x2
=
fluid
.
layers
.
data
(
name
=
'x2'
,
shape
=
[
4
],
dtype
=
"int32"
)
self
.
assertRaises
(
TypeError
,
fluid
.
layers
.
softmax
,
x2
)
self
.
assertRaises
(
TypeError
,
fluid
.
layers
.
softmax
,
x2
)
x3
=
fluid
.
layers
.
data
(
name
=
'x3'
,
shape
=
[
4
],
dtype
=
"float16"
)
fluid
.
layers
.
softmax
(
x3
)
class
TestSoftmaxOp2
(
TestSoftmaxOp
):
class
TestSoftmaxOp2
(
TestSoftmaxOp
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录