Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
df9df609
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看板
提交
df9df609
编写于
8月 24, 2020
作者:
L
leilei_snow
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix index error
上级
5971e313
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
8 addition
and
5 deletion
+8
-5
mindspore/ccsrc/vm/transform.cc
mindspore/ccsrc/vm/transform.cc
+3
-2
mindspore/ccsrc/vm/vm.cc
mindspore/ccsrc/vm/vm.cc
+4
-2
tests/st/control/test_switch_layer.py
tests/st/control/test_switch_layer.py
+1
-1
未找到文件。
mindspore/ccsrc/vm/transform.cc
浏览文件 @
df9df609
...
...
@@ -438,8 +438,9 @@ VectorRef CompileGraph::SplitNodes(const FuncGraphPtr &graph) {
void
CompileGraph
::
Push
(
const
AnfNodePtr
&
node
)
{
MS_EXCEPTION_IF_NULL
(
node
);
if
(
slots_
.
count
(
node
)
>
0
)
{
MS_LOG
(
EXCEPTION
)
<<
"Push failed node in slots:"
<<
node
->
DebugString
()
<<
" NodeInfo: "
<<
trace
::
GetDebugInfo
(
node
->
debug_info
());
MS_LOG
(
WARNING
)
<<
"Push failed node in slots:"
<<
node
->
DebugString
()
<<
" NodeInfo: "
<<
trace
::
GetDebugInfo
(
node
->
debug_info
());
return
;
}
MS_LOG
(
DEBUG
)
<<
"Push node: "
<<
node
->
DebugString
(
true
)
<<
" height_: "
<<
height_
<<
" is parameter: "
<<
node
->
isa
<
Parameter
>
();
...
...
mindspore/ccsrc/vm/vm.cc
浏览文件 @
df9df609
...
...
@@ -341,13 +341,15 @@ void FinalVM::InstSwitchLayer(const VectorRef &args) {
if
(
!
backend_
->
GetIndex
(
index
,
&
idx_value
))
{
MS_LOG
(
EXCEPTION
)
<<
"Not supported type to be casted to int."
;
}
auto
ori_value
=
idx_value
;
if
(
idx_value
<
0
)
{
// Add support negative index range [-size, -1].
idx_value
+=
size
;
}
if
(
idx_value
<
0
||
idx_value
>=
size
)
{
MS_LOG
(
EXCEPTION
)
<<
__FUNCTION__
<<
" given index "
<<
idx_value
<<
" out of range. Please make sure the value "
<<
"of index in ["
<<
-
size
<<
", "
<<
size
<<
"), and the type is int32."
;
MS_EXCEPTION
(
IndexError
)
<<
__FUNCTION__
<<
" given index "
<<
ori_value
<<
" out of range. Please make sure the value "
<<
"of index in ["
<<
-
size
<<
", "
<<
size
<<
"), and the type is int32."
;
}
Push
(
branches
[
idx_value
]);
MS_LOG
(
DEBUG
)
<<
"End"
;
...
...
tests/st/control/test_switch_layer.py
浏览文件 @
df9df609
...
...
@@ -52,5 +52,5 @@ def test_switch_layer():
assert
ret
idx3
=
Tensor
(
3
,
mstype
.
int32
)
with
pytest
.
raises
(
Runtime
Error
):
with
pytest
.
raises
(
Index
Error
):
value
=
net
(
data
,
idx3
,
idx2
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录