Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
1991a89f
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看板
提交
1991a89f
编写于
5月 15, 2020
作者:
W
wilfChen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
LayerNormGrad fix & codex
上级
c7865966
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
12 addition
and
20 deletion
+12
-20
mindspore/ccsrc/kernel/gpu/arrays/unsorted_segment_sum_gpu_kernel.cc
...csrc/kernel/gpu/arrays/unsorted_segment_sum_gpu_kernel.cc
+0
-1
mindspore/ccsrc/kernel/gpu/data/dataset_utils.cc
mindspore/ccsrc/kernel/gpu/data/dataset_utils.cc
+0
-2
mindspore/ccsrc/kernel/gpu/data/dataset_utils.h
mindspore/ccsrc/kernel/gpu/data/dataset_utils.h
+0
-1
mindspore/ccsrc/kernel/gpu/math/broadcast_gpu_kernel.h
mindspore/ccsrc/kernel/gpu/math/broadcast_gpu_kernel.h
+6
-7
mindspore/ccsrc/kernel/gpu/math/broadcast_grad_gpu_kernel.h
mindspore/ccsrc/kernel/gpu/math/broadcast_grad_gpu_kernel.h
+0
-2
mindspore/ccsrc/kernel/gpu/nn/layer_norm_grad_gpu_kernel.h
mindspore/ccsrc/kernel/gpu/nn/layer_norm_grad_gpu_kernel.h
+2
-2
mindspore/ccsrc/kernel/gpu/nn/rmsprop_gpu_kernel.cc
mindspore/ccsrc/kernel/gpu/nn/rmsprop_gpu_kernel.cc
+0
-1
tests/st/ops/gpu/test_layer_norm_grad_op.py
tests/st/ops/gpu/test_layer_norm_grad_op.py
+4
-4
未找到文件。
mindspore/ccsrc/kernel/gpu/arrays/unsorted_segment_sum_gpu_kernel.cc
浏览文件 @
1991a89f
...
...
@@ -37,6 +37,5 @@ MS_REG_GPU_KERNEL_TWO(
UnsortedSegmentSum
,
KernelAttr
().
AddInputAttr
(
kNumberTypeInt32
).
AddInputAttr
(
kNumberTypeInt64
).
AddOutputAttr
(
kNumberTypeInt32
),
UnsortedSegmentSumGpuKernel
,
int
,
int64_t
)
}
// namespace kernel
}
// namespace mindspore
mindspore/ccsrc/kernel/gpu/data/dataset_utils.cc
浏览文件 @
1991a89f
...
...
@@ -18,7 +18,6 @@
namespace
mindspore
{
namespace
kernel
{
size_t
UnitSizeInBytes
(
const
mindspore
::
TypeId
&
t
)
{
size_t
bytes
=
0
;
switch
(
t
)
{
...
...
@@ -65,6 +64,5 @@ int ElementNums(const std::vector<int> &shape) {
return
nums
;
}
}
// namespace kernel
}
// namespace mindspore
mindspore/ccsrc/kernel/gpu/data/dataset_utils.h
浏览文件 @
1991a89f
...
...
@@ -21,7 +21,6 @@
#include "ir/dtype/type.h"
namespace
mindspore
{
namespace
kernel
{
size_t
UnitSizeInBytes
(
const
mindspore
::
TypeId
&
t
);
int
ElementNums
(
const
std
::
vector
<
int
>
&
shape
);
}
// namespace kernel
...
...
mindspore/ccsrc/kernel/gpu/math/broadcast_gpu_kernel.h
浏览文件 @
1991a89f
...
...
@@ -27,7 +27,6 @@
#include "kernel/gpu/kernel_constants.h"
namespace
mindspore
{
namespace
kernel
{
template
<
typename
T
,
typename
S
>
class
BroadcastOpGpuKernel
:
public
GpuKernel
{
public:
...
...
@@ -70,14 +69,14 @@ class BroadcastOpGpuKernel : public GpuKernel {
output_num_
*=
shape3
[
i
];
}
int
offset
=
shape3
.
size
()
-
shape1
.
size
();
for
(
size_t
i
=
0
;
i
<
shape1
.
size
();
i
++
)
{
lhs_shape_
[
i
+
offset
]
=
shape1
[
i
];
input1_num_
*=
shape1
[
i
];
for
(
size_t
j
=
0
;
j
<
shape1
.
size
();
j
++
)
{
lhs_shape_
[
j
+
offset
]
=
shape1
[
j
];
input1_num_
*=
shape1
[
j
];
}
offset
=
shape3
.
size
()
-
shape2
.
size
();
for
(
size_t
i
=
0
;
i
<
shape2
.
size
();
i
++
)
{
rhs_shape_
[
i
+
offset
]
=
shape2
[
i
];
input2_num_
*=
shape2
[
i
];
for
(
size_t
k
=
0
;
k
<
shape2
.
size
();
k
++
)
{
rhs_shape_
[
k
+
offset
]
=
shape2
[
k
];
input2_num_
*=
shape2
[
k
];
}
InitSizeLists
();
...
...
mindspore/ccsrc/kernel/gpu/math/broadcast_grad_gpu_kernel.h
浏览文件 @
1991a89f
/**
* Copyright 2020 Huawei Technologies Co., Ltd
*
...
...
@@ -28,7 +27,6 @@
#include "kernel/gpu/kernel_constants.h"
namespace
mindspore
{
namespace
kernel
{
template
<
typename
T
>
class
BroadcastOpGradGpuKernel
:
public
GpuKernel
{
public:
...
...
mindspore/ccsrc/kernel/gpu/nn/layer_norm_grad_gpu_kernel.h
浏览文件 @
1991a89f
...
...
@@ -36,8 +36,8 @@ class LayerNormGradGpuKernel : public GpuKernel {
bool
Launch
(
const
std
::
vector
<
AddressPtr
>
&
inputs
,
const
std
::
vector
<
AddressPtr
>
&
,
const
std
::
vector
<
AddressPtr
>
&
outputs
,
uintptr_t
stream_ptr
)
override
{
auto
dy
=
GetDeviceAddress
<
T
>
(
inputs
,
0
);
auto
x
=
GetDeviceAddress
<
T
>
(
inputs
,
1
);
auto
x
=
GetDeviceAddress
<
T
>
(
inputs
,
0
);
auto
dy
=
GetDeviceAddress
<
T
>
(
inputs
,
1
);
auto
var
=
GetDeviceAddress
<
T
>
(
inputs
,
2
);
auto
mean
=
GetDeviceAddress
<
T
>
(
inputs
,
3
);
auto
gamma
=
GetDeviceAddress
<
T
>
(
inputs
,
4
);
...
...
mindspore/ccsrc/kernel/gpu/nn/rmsprop_gpu_kernel.cc
浏览文件 @
1991a89f
...
...
@@ -44,6 +44,5 @@ MS_REG_GPU_KERNEL_ONE(ApplyCenteredRMSProp,
.
AddInputAttr
(
kNumberTypeFloat32
)
.
AddOutputAttr
(
kNumberTypeFloat32
),
RMSPropGpuKernel
,
float
)
}
// namespace kernel
}
// namespace mindspore
tests/st/ops/gpu/test_layer_norm_grad_op.py
浏览文件 @
1991a89f
...
...
@@ -80,7 +80,7 @@ def test_layernormgrad0():
gamma_ms
=
Tensor
(
gamma_np
)
net
=
LayerNormGradNet
(
begin_norm_axis
,
begin_params_axis
)
dx_ms
,
dg_ms
,
db_ms
=
net
(
dy_ms
,
x
_ms
,
var_ms
,
mean_ms
,
gamma_ms
)
dx_ms
,
dg_ms
,
db_ms
=
net
(
x_ms
,
dy
_ms
,
var_ms
,
mean_ms
,
gamma_ms
)
assert
np
.
allclose
(
dx_ms
.
asnumpy
(),
dx_np
,
rtol
=
1e-6
,
atol
=
1e-6
)
assert
np
.
allclose
(
dg_ms
.
asnumpy
(),
dg_np
,
rtol
=
1e-6
,
atol
=
1e-3
)
...
...
@@ -107,7 +107,7 @@ def test_layernormgrad1():
gamma_ms
=
Tensor
(
gamma_np
)
net
=
LayerNormGradNet
(
begin_norm_axis
,
begin_params_axis
)
dx_ms
,
dg_ms
,
db_ms
=
net
(
dy_ms
,
x
_ms
,
var_ms
,
mean_ms
,
gamma_ms
)
dx_ms
,
dg_ms
,
db_ms
=
net
(
x_ms
,
dy
_ms
,
var_ms
,
mean_ms
,
gamma_ms
)
assert
np
.
allclose
(
dx_ms
.
asnumpy
(),
dx_np
,
rtol
=
1e-6
,
atol
=
1e-6
)
assert
np
.
allclose
(
dg_ms
.
asnumpy
(),
dg_np
,
rtol
=
1e-6
,
atol
=
1e-3
)
...
...
@@ -133,8 +133,8 @@ def test_layernormgrad2():
gamma_ms
=
Tensor
(
gamma_np
)
net
=
LayerNormGradNet
(
begin_norm_axis
,
begin_params_axis
)
dx_ms
,
dg_ms
,
db_ms
=
net
(
dy_ms
,
x
_ms
,
var_ms
,
mean_ms
,
gamma_ms
)
dx_ms
,
dg_ms
,
db_ms
=
net
(
x_ms
,
dy
_ms
,
var_ms
,
mean_ms
,
gamma_ms
)
assert
np
.
allclose
(
dx_ms
.
asnumpy
(),
dx_np
,
rtol
=
1e-6
,
atol
=
1e-6
)
assert
np
.
allclose
(
dg_ms
.
asnumpy
(),
dg_np
,
rtol
=
1e-6
,
atol
=
1e-3
)
assert
np
.
allclose
(
db_ms
.
asnumpy
(),
db_np
,
rtol
=
1e-6
,
atol
=
1e-3
)
\ No newline at end of file
assert
np
.
allclose
(
db_ms
.
asnumpy
(),
db_np
,
rtol
=
1e-6
,
atol
=
1e-3
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录