Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
d55c0f66
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看板
提交
d55c0f66
编写于
6月 28, 2020
作者:
Z
zhaozhenlong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
complement scatter add support dtype
上级
80dd3321
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
2 deletion
+29
-2
mindspore/ops/_op_impl/tbe/scatter_add.py
mindspore/ops/_op_impl/tbe/scatter_add.py
+2
-0
tests/ut/python/ops/test_ops.py
tests/ut/python/ops/test_ops.py
+27
-2
未找到文件。
mindspore/ops/_op_impl/tbe/scatter_add.py
浏览文件 @
d55c0f66
...
...
@@ -31,6 +31,8 @@ scatter_add_op_info = TBERegOp("ScatterAdd") \
.
dtype_format
(
DataType
.
F16_Default
,
DataType
.
I32_Default
,
DataType
.
F16_Default
,
DataType
.
F16_Default
)
\
.
dtype_format
(
DataType
.
F32_Default
,
DataType
.
I32_Default
,
DataType
.
F32_Default
,
DataType
.
F32_Default
)
\
.
dtype_format
(
DataType
.
I32_Default
,
DataType
.
I32_Default
,
DataType
.
I32_Default
,
DataType
.
I32_Default
)
\
.
dtype_format
(
DataType
.
I8_Default
,
DataType
.
I32_Default
,
DataType
.
I8_Default
,
DataType
.
I8_Default
)
\
.
dtype_format
(
DataType
.
U8_Default
,
DataType
.
I32_Default
,
DataType
.
U8_Default
,
DataType
.
U8_Default
)
\
.
get_op_info
()
...
...
tests/ut/python/ops/test_ops.py
浏览文件 @
d55c0f66
...
...
@@ -220,10 +220,10 @@ class ScatterMax(nn.Cell):
class
ScatterAdd
(
nn
.
Cell
):
"""ScatterAdd net definition"""
def
__init__
(
self
,
ref_shape
):
def
__init__
(
self
,
ref_shape
,
dtype
=
np
.
float32
):
super
(
ScatterAdd
,
self
).
__init__
()
self
.
scatter_add
=
P
.
ScatterAdd
()
self
.
ref
=
Parameter
(
Tensor
(
np
.
ones
(
ref_shape
,
np
.
float32
)),
name
=
"ref"
)
self
.
ref
=
Parameter
(
Tensor
(
np
.
ones
(
ref_shape
,
dtype
)),
name
=
"ref"
)
def
construct
(
self
,
indices
,
updates
):
out
=
self
.
scatter_add
(
self
.
ref
,
indices
,
updates
)
...
...
@@ -1677,12 +1677,37 @@ test_case_other_ops = [
'desc_inputs'
:
(
Tensor
(
np
.
array
([
2
,
0
,
5
],
np
.
int32
)),
Tensor
(
np
.
array
([
2.0
,
3.0
,
4.0
],
np
.
float32
))),
'skip'
:
[
'backward'
]}),
(
'ScatterAddScalar'
,
{
'block'
:
ScatterAdd
((
6
,)),
'desc_inputs'
:
(
Tensor
(
np
.
array
([
2
],
np
.
int32
)),
Tensor
(
np
.
array
([
2.0
],
np
.
float32
))),
'skip'
:
[
'backward'
]}),
(
'ScatterAdd2d'
,
{
'block'
:
ScatterAdd
((
3
,
4
)),
'desc_inputs'
:
(
Tensor
(
np
.
array
([[
0
,
1
],
[
1
,
2
]],
np
.
int32
)),
Tensor
(
np
.
array
([[[
1
,
1
,
1
,
1
],
[
2
,
2
,
2
,
2
]],
[[
3
,
3
,
3
,
3
],
[
4
,
4
,
4
,
4
]]],
np
.
float32
))),
'skip'
:
[
'backward'
]}),
(
'ScatterAddF16'
,
{
'block'
:
ScatterAdd
((
6
,),
np
.
float16
),
'desc_inputs'
:
(
Tensor
(
np
.
array
([
2
,
0
,
5
],
np
.
int32
)),
Tensor
(
np
.
array
([
2.0
,
3.0
,
4.0
],
np
.
float16
))),
'skip'
:
[
'backward'
]}),
(
'ScatterAddI8'
,
{
'block'
:
ScatterAdd
((
6
,),
np
.
int8
),
'desc_inputs'
:
(
Tensor
(
np
.
array
([
2
,
0
,
5
],
np
.
int32
)),
Tensor
(
np
.
array
([
2
,
3
,
4
],
np
.
int8
))),
'skip'
:
[
'backward'
]}),
(
'ScatterAddI32'
,
{
'block'
:
ScatterAdd
((
6
,),
np
.
int32
),
'desc_inputs'
:
(
Tensor
(
np
.
array
([
2
,
0
,
5
],
np
.
int32
)),
Tensor
(
np
.
array
([
2
,
3
,
4
],
np
.
int32
))),
'skip'
:
[
'backward'
]}),
(
'ScatterAddU8'
,
{
'block'
:
ScatterAdd
((
6
,),
np
.
uint8
),
'desc_inputs'
:
(
Tensor
(
np
.
array
([
2
,
0
,
5
],
np
.
int32
)),
Tensor
(
np
.
array
([
2
,
3
,
4
],
np
.
uint8
))),
'skip'
:
[
'backward'
]}),
(
'SmoothL1Loss'
,
{
'block'
:
P
.
SmoothL1Loss
(),
'desc_inputs'
:
[[
256
,
4
],
[
256
,
4
]],
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录