Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
3800f192
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看板
未验证
提交
3800f192
编写于
6月 10, 2022
作者:
C
Chen Weihang
提交者:
GitHub
6月 10, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix add_n incompatible error (#43395)
上级
f551d9fe
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
18 addition
and
1 deletion
+18
-1
paddle/fluid/pybind/eager_method.cc
paddle/fluid/pybind/eager_method.cc
+12
-0
python/paddle/optimizer/optimizer.py
python/paddle/optimizer/optimizer.py
+3
-1
python/paddle/tensor/math.py
python/paddle/tensor/math.py
+3
-0
未找到文件。
paddle/fluid/pybind/eager_method.cc
浏览文件 @
3800f192
...
...
@@ -1417,6 +1417,16 @@ static PyObject* tensor_method_get_non_zero_cols(TensorObject* self,
EAGER_CATCH_AND_THROW_RETURN_NULL
}
static
PyObject
*
tensor_method_is_dense
(
TensorObject
*
self
,
PyObject
*
args
,
PyObject
*
kwargs
)
{
EAGER_TRY
if
(
!
self
->
tensor
.
defined
())
{
return
ToPyObject
(
false
);
}
return
ToPyObject
(
self
->
tensor
.
is_dense_tensor
());
EAGER_CATCH_AND_THROW_RETURN_NULL
}
static
PyObject
*
tensor_method_is_sparse
(
TensorObject
*
self
,
PyObject
*
args
,
PyObject
*
kwargs
)
{
EAGER_TRY
...
...
@@ -1682,6 +1692,8 @@ PyMethodDef variable_methods[] = {
METH_VARARGS
|
METH_KEYWORDS
,
NULL
},
{
"clear_gradient"
,
(
PyCFunction
)(
void
(
*
)(
void
))
tensor_clear_gradient
,
METH_VARARGS
|
METH_KEYWORDS
,
NULL
},
{
"is_dense"
,
(
PyCFunction
)(
void
(
*
)(
void
))
tensor_method_is_dense
,
METH_VARARGS
|
METH_KEYWORDS
,
NULL
},
{
"_zero_grads"
,
(
PyCFunction
)(
void
(
*
)(
void
))
tensor__zero_grads
,
METH_VARARGS
|
METH_KEYWORDS
,
NULL
},
{
"_share_buffer_to"
,
(
PyCFunction
)(
void
(
*
)(
void
))
tensor__share_buffer_to
,
...
...
python/paddle/optimizer/optimizer.py
浏览文件 @
3800f192
...
...
@@ -1032,7 +1032,9 @@ class Optimizer(object):
assert
regularization_term
is
not
None
if
framework
.
in_dygraph_mode
():
if
grad
.
is_dense
()
and
regularization_term
.
is_dense
():
return
_C_ops
.
final_state_add_n
([
grad
,
regularization_term
])
return
_C_ops
.
sum
([
grad
,
regularization_term
])
elif
framework
.
_in_legacy_dygraph
():
return
_C_ops
.
sum
([
grad
,
regularization_term
])
...
...
python/paddle/tensor/math.py
浏览文件 @
3800f192
...
...
@@ -1377,6 +1377,9 @@ def add_n(inputs, name=None):
if
in_dygraph_mode
():
if
isinstance
(
inputs
,
Variable
):
inputs
=
[
inputs
]
for
x
in
inputs
:
if
not
x
.
is_dense
():
return
_C_ops
.
sum
(
inputs
,
'use_mkldnn'
,
False
)
return
_C_ops
.
final_state_add_n
(
inputs
)
if
_in_legacy_dygraph
():
if
isinstance
(
inputs
,
Variable
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录