Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
cd28858e
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
cd28858e
编写于
7月 14, 2020
作者:
K
kingfo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix sens tensor check issue
上级
69ce4bf2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
10 deletion
+10
-10
mindspore/ccsrc/pynative/pynative_execute.cc
mindspore/ccsrc/pynative/pynative_execute.cc
+7
-7
mindspore/ops/composite/base.py
mindspore/ops/composite/base.py
+3
-3
未找到文件。
mindspore/ccsrc/pynative/pynative_execute.cc
浏览文件 @
cd28858e
...
...
@@ -351,13 +351,13 @@ py::object RunOpInVM(const OpExecInfoPtr &op_exec_info, PynativeStatusCode *stat
for
(
size_t
i
=
0
;
i
<
op_inputs
.
size
();
i
++
)
{
py
::
object
input
=
op_inputs
[
i
];
if
(
py
::
hasattr
(
input
,
"__parameter__"
))
{
result
[
i
]
=
py
::
getattr
(
input
,
"data"
);
}
else
{
auto
tensor
=
py
::
cast
<
tensor
::
TensorPtr
>
(
input
);
auto
new_tensor
=
std
::
make_shared
<
tensor
::
Tensor
>
(
tensor
->
data_type
(),
tensor
->
shape
(),
tensor
->
data_ptr
());
new_tensor
->
set_device_address
(
tensor
->
device_address
());
new_tensor
->
set_dirty
(
tensor
->
is_dirty
());
result
[
i
]
=
new_tensor
;
input
=
py
::
getattr
(
input
,
"data"
);
}
auto
tensor
=
py
::
cast
<
tensor
::
TensorPtr
>
(
input
);
auto
new_tensor
=
std
::
make_shared
<
tensor
::
Tensor
>
(
tensor
->
data_type
(),
tensor
->
shape
(),
tensor
->
data_ptr
());
new_tensor
->
set_device_address
(
tensor
->
device_address
());
new_tensor
->
set_dirty
(
tensor
->
is_dirty
());
result
[
i
]
=
new_tensor
;
}
}
*
status
=
PYNATIVE_SUCCESS
;
...
...
mindspore/ops/composite/base.py
浏览文件 @
cd28858e
...
...
@@ -120,6 +120,9 @@ class GradOperation(GradOperation_):
""" Pynative forward run to build grad graph. """
if
self
.
sens_param
:
args
=
args
[:
-
1
]
for
arg
in
args
:
if
not
isinstance
(
arg
,
Tensor
):
raise
TypeError
(
"grad inputs should be tensor in pynative mode"
)
if
isinstance
(
fn
,
FunctionType
):
_pynative_exec
.
set_grad_flag
(
True
)
_pynative_exec
.
new_graph
(
fn
,
*
args
)
...
...
@@ -150,9 +153,6 @@ class GradOperation(GradOperation_):
else
:
@
_wrap_func
def
after_grad
(
*
args
):
for
arg
in
args
:
if
not
isinstance
(
arg
,
Tensor
):
raise
TypeError
(
"grad inputs should be tensor in pynative mode"
)
self
.
_pynative_forward_run
(
args
,
fn
)
_pynative_exec
.
grad
(
grad_
,
fn
,
weights
,
*
args
)
out
=
_pynative_exec
(
*
args
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录